Skip to content

Commit d63c97f

Browse files
authored
Merge pull request #51 from sunsingerus/master
--mempool-max-rows-num option
2 parents a269786 + 73e2ab2 commit d63c97f

File tree

4 files changed

+16
-1
lines changed

4 files changed

+16
-1
lines changed

clickhouse-mysql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class Main(Daemon):
4545
elif self.config.is_table_migrate():
4646
migrator = self.config.table_migrator()
4747
migrator.chwriter = self.config.writer()
48+
migrator.pool_max_rows_num = self.config.mempool_max_rows_num()
4849
migrator.migrate()
4950

5051
else:

src/cliopts.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ def config():
124124
default=100000,
125125
help='Max events number to pool - triggering pool flush'
126126
)
127+
argparser.add_argument(
128+
'--mempool-max-rows-num',
129+
type=int,
130+
default=100000,
131+
help='Max rows number to pool - triggering pool flush'
132+
)
127133
argparser.add_argument(
128134
'--mempool-max-flush-interval',
129135
type=int,
@@ -290,6 +296,7 @@ def config():
290296
'pid_file': args.pid_file,
291297
'mempool': args.mempool or args.csvpool, # csvpool assumes mempool to be enabled
292298
'mempool-max-events-num': args.mempool_max_events_num,
299+
'mempool-max-rows-num': args.mempool_max_rows_num,
293300
'mempool-max-flush-interval': args.mempool_max_flush_interval,
294301
'csvpool': args.csvpool,
295302
},

src/config.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ def nice_pause(self):
4141
def pid_file(self):
4242
return self.config['app-config']['pid_file']
4343

44+
def mempool_max_events_num(self):
45+
return self.config['app-config']['mempool-max-events-num']
46+
47+
def mempool_max_rows_num(self):
48+
return self.config['app-config']['mempool-max-rows-num']
49+
4450
def is_daemon(self):
4551
return self.config['app-config']['daemon']
4652

src/tablemigrator.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class TableMigrator(TableProcessor):
1111

1212
cursorclass = SSDictCursor
1313
chwriter = None
14+
pool_max_rows_num = 100000
1415

1516
def migrate(self):
1617
dbs = self.dbs_tables_lists()
@@ -27,7 +28,7 @@ def migrate_table(self, db=None, table=None, ):
2728
self.cursor.execute("SELECT * FROM {0}".format(self.create_full_table_name(db=db, table=table)))
2829
cnt = 0;
2930
while True:
30-
rows = self.cursor.fetchmany(10000)
31+
rows = self.cursor.fetchmany(self.pool_max_rows_num)
3132
if not rows:
3233
break
3334
self.chwriter.dst_schema = db

0 commit comments

Comments
 (0)