Esempio n. 1
0
 def __init__(self, service, jvm_opts=None, merge_with_default=True):
     """
     :param service: Service
     :param jvm_opts: If passed will be added with higher priority to or overwrite completely the default options
                      depending on the merge_with_default. Either string or list of strings is allowed.
     :param merge_with_default: If False jvm_opts will overide the default options completely. None of the
                      default options will be applied.
     """
     self.service = service
     self.jvm_opts = merge_jvm_settings(self.__get_default_jvm_opts() if merge_with_default else [],
                                        jvm_opts if jvm_opts else [])
Esempio n. 2
0
    def check_merge_jvm_settings(self, settings, additionals, expected):
        """
        Tests different variants of merge jvm settings.
        """
        res = {}
        for param in merge_jvm_settings(settings, additionals=additionals):
            if param in res:
                res[param] += 1
            else:
                res[param] = 1

        assert res == expected
Esempio n. 3
0
    def __get_default_jvm_opts(self):
        """
        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"))

        default_jvm_opts = merge_jvm_settings(default_jvm_opts, [
            "-DIGNITE_SUCCESS_FILE=" +
            os.path.join(self.service.persistent_root, "success_file"),
            "-Dlog4j.configDebug=true"
        ])

        if self.service.config and self.service.config.service_type == IgniteServiceType.THIN_CLIENT:
            default_jvm_opts = merge_jvm_settings(default_jvm_opts, [
                "-Dlog4j.configurationFile=file:" +
                self.service.log_config_file
            ])

        if self.service.context.globals.get(JFR_ENABLED, False):
            default_jvm_opts = merge_jvm_settings(default_jvm_opts, [
                "-XX:+UnlockCommercialFeatures", "-XX:+FlightRecorder",
                "-XX:StartFlightRecording=dumponexit=true," +
                f"filename={self.service.jfr_dir}/recording.jfr"
            ])

        jmx_remote_params = get_jmx_remote_params(self.service.context.globals)
        if jmx_remote_params.enabled:
            default_jvm_opts = merge_jvm_settings(default_jvm_opts, [
                "-Dcom.sun.management.jmxremote",
                "-Dcom.sun.management.jmxremote.port=%d" %
                jmx_remote_params.port,
                "-Dcom.sun.management.jmxremote.local.only=false",
                "-Dcom.sun.management.jmxremote.authenticate=false",
                "-Dcom.sun.management.jmxremote.ssl=false"
            ])

        return default_jvm_opts
Esempio n. 4
0
    def check_list(self):
        """
        Checks list representation of JVM settings.
        """
        jvm_settings = create_jvm_settings()

        assert "-Xms" + DEFAULT_HEAP in jvm_settings
        assert "-Xmx" + DEFAULT_HEAP in jvm_settings

        jvm_settings = merge_jvm_settings(jvm_settings,
                                          additionals="-Xms981M -Xmx981M")

        assert "-Xms981M" in jvm_settings
        assert "-Xmx981M" in jvm_settings
        assert "-Xms" + DEFAULT_HEAP not in jvm_settings
        assert "-Xmx" + DEFAULT_HEAP not in jvm_settings

        jvm_settings = merge_jvm_settings(
            jvm_settings, additionals="-XX:ParallelGCThreads=1024")
        jvm_settings = merge_jvm_settings(
            jvm_settings, additionals="-xx:ParallelGCThreads=512")

        assert "-XX:ParallelGCThreads=1024" in jvm_settings
        assert "-XX:ParallelGCThreads=512" not in jvm_settings
Esempio n. 5
0
 def _add_jvm_opts(self, opts):
     """Properly adds JVM options to current"""
     self.jvm_opts = merge_jvm_settings(self.jvm_opts, opts)
Esempio n. 6
0
 def __init__(self, service, jvm_opts=None, merge_with_default=True):
     super().__init__(
         service,
         merge_jvm_settings(self.__get_default_jvm_opts() if merge_with_default else [],
                            jvm_opts if jvm_opts else []),
         merge_with_default)