@@ -82,7 +82,7 @@ def _run_process(self, name, cmd, env=None):
82
82
return popen
83
83
84
84
def _get_jvm_version (self ):
85
- return "1.8.y.x "
85
+ return "11.0.6 "
86
86
87
87
88
88
class HeronExecutorTest (unittest .TestCase ):
@@ -105,50 +105,41 @@ def build_packing_plan(self, instance_distribution):
105
105
instance_plan .component_index = int (component_index )
106
106
return packing_plan
107
107
108
- # pylint: disable=no-self-argument
108
+ # pylint: disable=no-self-argument
109
109
def get_expected_metricsmgr_command (container_id ):
110
110
return "heron_java_home/bin/java -Xmx1024M -XX:+PrintCommandLineFlags " \
111
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
112
- "-XX:+UseConcMarkSweepGC -XX:+CMSScavengeBeforeRemark -XX:TargetSurvivorRatio=90 " \
113
- "-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps " \
114
- "-XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 " \
115
- "-XX:GCLogFileSize=100M -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution " \
116
- "-XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
117
- "-Xloggc:log-files/gc.metricsmgr-%d.log " \
111
+ "-Djava.net.preferIPv4Stack=true " \
112
+ "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
113
+ "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
114
+ "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
118
115
"-cp metricsmgr_classpath org.apache.heron.metricsmgr.MetricsManager " \
119
116
"--id=metricsmgr-%d --port=metricsmgr_port " \
120
117
"--topology=topname --cluster=cluster --role=role --environment=environ " \
121
118
"--topology-id=topid " \
122
119
"--system-config-file=%s --override-config-file=%s " \
123
- "--sink-config-file=metrics_sinks_config_file" % \
124
- (container_id , container_id , INTERNAL_CONF_PATH , OVERRIDE_PATH )
120
+ "--sink-config-file=metrics_sinks_config_file" % \
121
+ (container_id , INTERNAL_CONF_PATH , OVERRIDE_PATH )
125
122
126
123
def get_expected_metricscachemgr_command ():
127
124
return "heron_java_home/bin/java -Xmx1024M -XX:+PrintCommandLineFlags " \
128
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
129
- "-XX:+UseConcMarkSweepGC -XX:+CMSScavengeBeforeRemark -XX:TargetSurvivorRatio=90 " \
130
- "-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps " \
131
- "-XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 " \
132
- "-XX:GCLogFileSize=100M -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution " \
133
- "-XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
134
- "-Xloggc:log-files/gc.metricscache.log " \
125
+ "-Djava.net.preferIPv4Stack=true " \
126
+ "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
127
+ "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
128
+ "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
135
129
"-cp metricscachemgr_classpath org.apache.heron.metricscachemgr.MetricsCacheManager " \
136
130
"--metricscache_id metricscache-0 --server_port metricscachemgr_serverport " \
137
131
"--stats_port metricscachemgr_statsport --topology_name topname --topology_id topid " \
138
132
"--system_config_file %s --override_config_file %s " \
139
133
"--sink_config_file metrics_sinks_config_file " \
140
- "--cluster cluster --role role --environment environ" % \
141
- (INTERNAL_CONF_PATH , OVERRIDE_PATH )
134
+ "--cluster cluster --role role --environment environ" \
135
+ % (INTERNAL_CONF_PATH , OVERRIDE_PATH )
142
136
143
137
def get_expected_healthmgr_command ():
144
138
return "heron_java_home/bin/java -Xmx1024M -XX:+PrintCommandLineFlags " \
145
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
146
- "-XX:+UseConcMarkSweepGC -XX:+CMSScavengeBeforeRemark -XX:TargetSurvivorRatio=90 " \
147
- "-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps " \
148
- "-XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 " \
149
- "-XX:GCLogFileSize=100M -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution " \
150
- "-XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
151
- "-Xloggc:log-files/gc.healthmgr.log " \
139
+ "-Djava.net.preferIPv4Stack=true " \
140
+ "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
141
+ "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
142
+ "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
152
143
"-cp scheduler_classpath:healthmgr_classpath " \
153
144
"org.apache.heron.healthmgr.HealthManager --cluster cluster --role role " \
154
145
"--environment environ --topology_name topname --metricsmgr_port metricsmgr_port"
@@ -157,19 +148,16 @@ def get_expected_instance_command(component_name, instance_id, container_id):
157
148
instance_name = "container_%d_%s_%d" % (container_id , component_name , instance_id )
158
149
return "heron_java_home/bin/java -Xmx320M -Xms320M -Xmn160M -XX:MaxMetaspaceSize=128M " \
159
150
"-XX:MetaspaceSize=128M -XX:ReservedCodeCacheSize=64M -XX:+PrintCommandLineFlags " \
160
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
161
- "-XX:+UseConcMarkSweepGC -XX:+CMSScavengeBeforeRemark -XX:TargetSurvivorRatio=90 " \
162
- "-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps " \
163
- "-XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 " \
164
- "-XX:GCLogFileSize=100M -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution " \
165
- "-XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
166
- "-Xloggc:log-files/gc.%s.log " \
151
+ "-Djava.net.preferIPv4Stack=true " \
152
+ "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
153
+ "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
154
+ "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
167
155
"-cp instance_classpath:classpath -XX:+HeapDumpOnOutOfMemoryError " \
168
156
"org.apache.heron.instance.HeronInstance -topology_name topname -topology_id topid " \
169
157
"-instance_id %s -component_name %s -task_id %d -component_index 0 -stmgr_id stmgr-%d " \
170
158
"-stmgr_port tmanager_controller_port -metricsmgr_port metricsmgr_port " \
171
159
"-system_config_file %s -override_config_file %s" \
172
- % (instance_name , instance_name , component_name , instance_id ,
160
+ % (instance_name , component_name , instance_id ,
173
161
container_id , INTERNAL_CONF_PATH , OVERRIDE_PATH )
174
162
175
163
MockPOpen .set_next_pid (37 )
@@ -391,103 +379,3 @@ def assert_process(self, expected_process, found_processes):
391
379
self .assertEqual (expected_process .command , found_processes [pid ].command_str )
392
380
self .assertEqual (1 , found_processes [pid ].attempts )
393
381
394
-
395
- class MockExecutorJDK11 (HeronExecutor ):
396
- """
397
- mock executor that overrides methods that don't apply to unit tests, like running processes
398
- """
399
- def __init__ (self , args ):
400
- self .processes = []
401
- super (MockExecutorJDK11 , self ).__init__ (args , None )
402
-
403
- # pylint: disable=no-self-use
404
- def _load_logging_dir (self , heron_internals_config_file ):
405
- return "log-files"
406
-
407
- def _run_process (self , name , cmd , env = None ):
408
- popen = MockPOpen ()
409
- self .processes .append (ProcessInfo (popen , name , cmd ))
410
- return popen
411
-
412
- def _get_jvm_version (self ):
413
- return "11.0.6"
414
-
415
-
416
- class HeronExecutorJDK11Test (unittest .TestCase ):
417
- """Unittest for Heron Executor"""
418
-
419
- def __init__ (self , args ):
420
- super (HeronExecutorJDK11Test , self ).__init__ (args , None )
421
-
422
- # pylint: disable=no-self-argument
423
- def get_expected_metricsmgr_command (container_id ):
424
- return "heron_java_home/bin/java -Xmx1024M -XX:+PrintCommandLineFlags " \
425
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
426
- "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
427
- "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
428
- "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
429
- "-Xlog:gc*,safepoint=info:file=log-files/gc.metricsmgr-%d.log:tags,time,uptime," \
430
- "level:filecount=5,filesize=100M " \
431
- "-cp metricsmgr_classpath org.apache.heron.metricsmgr.MetricsManager " \
432
- "--id=metricsmgr-%d --port=metricsmgr_port " \
433
- "--topology=topname --cluster=cluster --role=role --environment=environ " \
434
- "--topology-id=topid " \
435
- "--system-config-file=%s --override-config-file=%s " \
436
- "--sink-config-file=metrics_sinks_config_file" % \
437
- (container_id , container_id , INTERNAL_CONF_PATH , OVERRIDE_PATH )
438
-
439
- def get_expected_metricscachemgr_command ():
440
- return "heron_java_home/bin/java -Xmx1024M -XX:+PrintCommandLineFlags " \
441
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
442
- "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
443
- "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
444
- "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
445
- " -Xlog:gc*,safepoint=info:file=log-files/gc.metricscache.log:tags,time,uptime," \
446
- "level:filecount=5,filesize=100M " \
447
- "-cp metricscachemgr_classpath org.apache.heron.metricscachemgr.MetricsCacheManager " \
448
- "--metricscache_id metricscache-0 --server_port metricscachemgr_serverport " \
449
- "--stats_port metricscachemgr_statsport --topology_name topname --topology_id topid " \
450
- "--system_config_file %s --override_config_file %s " \
451
- "--sink_config_file metrics_sinks_config_file " \
452
- "--cluster cluster --role role --environment environ" % \
453
- (INTERNAL_CONF_PATH , OVERRIDE_PATH )
454
-
455
- def get_expected_healthmgr_command ():
456
- return "heron_java_home/bin/java -Xmx1024M -XX:+PrintCommandLineFlags " \
457
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
458
- "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
459
- "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
460
- "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
461
- " -Xlog:gc*,safepoint=info:file=log-files/gc.healthmgr.log:tags,time,uptime," \
462
- "level:filecount=5,filesize=100M " \
463
- "-cp scheduler_classpath:healthmgr_classpath " \
464
- "org.apache.heron.healthmgr.HealthManager --cluster cluster --role role " \
465
- "--environment environ --topology_name topname --metricsmgr_port metricsmgr_port"
466
-
467
- def get_expected_instance_command (component_name , instance_id , container_id ):
468
- instance_name = "container_%d_%s_%d" % (container_id , component_name , instance_id )
469
- return "heron_java_home/bin/java -Xmx320M -Xms320M -Xmn160M -XX:MaxMetaspaceSize=128M " \
470
- "-XX:MetaspaceSize=128M -XX:ReservedCodeCacheSize=64M -XX:+PrintCommandLineFlags " \
471
- "-Djava.net.preferIPv4Stack=true -verbosegc " \
472
- "-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication " \
473
- "-XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=30 " \
474
- "-XX:+HeapDumpOnOutOfMemoryError -XX:ParallelGCThreads=4 " \
475
- "-Xloggc:log-files/gc.%s.log " \
476
- "-cp instance_classpath:classpath -XX:+HeapDumpOnOutOfMemoryError " \
477
- "org.apache.heron.instance.HeronInstance -topology_name topname -topology_id topid " \
478
- "-instance_id %s -component_name %s -task_id %d -component_index 0 -stmgr_id stmgr-%d " \
479
- "-stmgr_port tmanager_controller_port -metricsmgr_port metricsmgr_port " \
480
- "-system_config_file %s -override_config_file %s" \
481
- % (instance_name , instance_name , component_name , instance_id ,
482
- container_id , INTERNAL_CONF_PATH , OVERRIDE_PATH )
483
-
484
- def setUp (self ):
485
- MockPOpen .set_next_pid (37 )
486
- self .maxDiff = None
487
- self .executor_0 = MockExecutorJDK11 (self .get_args (0 ))
488
- self .executor_1 = MockExecutorJDK11 (self .get_args (1 ))
489
- self .executor_7 = MockExecutorJDK11 (self .get_args (7 ))
490
- self .packing_plan_expected = self .build_packing_plan ({
491
- 1 :[('word' , '3' , '0' ), ('exclaim1' , '2' , '0' ), ('exclaim1' , '1' , '0' )],
492
- 7 :[('word' , '11' , '0' ), ('exclaim1' , '210' , '0' )],
493
- })
0 commit comments