This is an automated email from the ASF dual-hosted git repository.

ivandasch pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 1f238846c8b IGNITE-18936 [ducktests] Fix parsing of the control.sh 
baseline command output and store JVM error file (#10575)
1f238846c8b is described below

commit 1f238846c8beb0d2d5a742eae85a55987313a99e
Author: Sergey Korotkov <[email protected]>
AuthorDate: Fri Mar 3 15:17:11 2023 +0700

    IGNITE-18936 [ducktests] Fix parsing of the control.sh baseline command 
output and store JVM error file (#10575)
---
 .../ducktests/tests/ignitetest/services/utils/control_utility.py | 6 +++---
 modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py | 3 ++-
 modules/ducktests/tests/ignitetest/services/utils/jvm_utils.py   | 9 +++++++--
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/modules/ducktests/tests/ignitetest/services/utils/control_utility.py 
b/modules/ducktests/tests/ignitetest/services/utils/control_utility.py
index 10bcdee4adc..82eb2fcab96 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/control_utility.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/control_utility.py
@@ -365,9 +365,9 @@ class ControlUtility:
     def __parse_cluster_state(output):
         state_pattern = re.compile("Cluster state: (?P<cluster_state>[^\\s]+)")
         topology_pattern = re.compile("Current topology version: 
(?P<topology_version>\\d+)")
-        baseline_pattern = 
re.compile("Consistent(Id|ID)=(?P<consistent_id>[^\\s]+)"
-                                      
"(,\\sA(ddress|DDRESS)=(?P<address>[^\\s]+))?"
-                                      ",\\sS(tate|TATE)=(?P<state>[^\\s]+)"
+        baseline_pattern = 
re.compile("Consistent(Id|ID)=(?P<consistent_id>[^\\s,]+)"
+                                      
"(,\\sA(ddress|DDRESS)=(?P<address>[^\\s,]+))?"
+                                      ",\\sS(tate|TATE)=(?P<state>[^\\s,]+)"
                                       "(,\\sOrder=(?P<order>\\d+))?")
 
         match = state_pattern.search(output)
diff --git a/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py 
b/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
index b82551491dc..b75c0aed02f 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/ignite_spec.py
@@ -97,7 +97,8 @@ class IgniteSpec(metaclass=ABCMeta):
         Return a set of default JVM options.
         """
         default_jvm_opts = 
create_jvm_settings(gc_dump_path=os.path.join(self.service.log_dir, "gc.log"),
-                                               
oom_path=os.path.join(self.service.log_dir, "out_of_mem.hprof"))
+                                               
oom_path=os.path.join(self.service.log_dir, "out_of_mem.hprof"),
+                                               
vm_error_path=os.path.join(self.service.log_dir, "hs_err_pid%p.log"))
 
         default_jvm_opts = merge_jvm_settings(
             default_jvm_opts, ["-DIGNITE_SUCCESS_FILE=" + 
os.path.join(self.service.persistent_root, "success_file"),
diff --git a/modules/ducktests/tests/ignitetest/services/utils/jvm_utils.py 
b/modules/ducktests/tests/ignitetest/services/utils/jvm_utils.py
index 0fccd871a75..5aa5adafcd5 100644
--- a/modules/ducktests/tests/ignitetest/services/utils/jvm_utils.py
+++ b/modules/ducktests/tests/ignitetest/services/utils/jvm_utils.py
@@ -28,7 +28,7 @@ JVM_PARAMS_GENERIC = "-server -XX:+DisableExplicitGC 
-XX:+AlwaysPreTouch " \
 
 
 def create_jvm_settings(heap_size=DEFAULT_HEAP, gc_settings=JVM_PARAMS_GC_G1, 
generic_params=JVM_PARAMS_GENERIC,
-                        gc_dump_path=None, oom_path=None):
+                        gc_dump_path=None, oom_path=None, vm_error_path=None):
     """
     Provides settings string for JVM process.
     param opts: JVM options to merge. Adds new or rewrites default values. Can 
be list or string.
@@ -41,7 +41,12 @@ def create_jvm_settings(heap_size=DEFAULT_HEAP, 
gc_settings=JVM_PARAMS_GC_G1, ge
     if oom_path:
         out_of_mem_dump = "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=" 
+ oom_path
 
-    as_string = f"-Xmx{heap_size} -Xms{heap_size} {gc_settings} {gc_dump} 
{out_of_mem_dump} {generic_params}".strip()
+    vm_error_dump = ""
+    if vm_error_path:
+        vm_error_dump = "-XX:ErrorFile=" + vm_error_path
+
+    as_string = f"-Xmx{heap_size} -Xms{heap_size} {gc_settings} {gc_dump} " \
+                f"{out_of_mem_dump} {vm_error_dump} {generic_params}".strip()
 
     return as_string.split()
 

Reply via email to