Skip to content

Commit f685b95

Browse files
hitmoonvladak
authored andcommitted
indexer: add java options to indexer
add INDEXER_JAVA_OPTS environment varibale pass java_opts to Indexer to tune jvm options This feature is useful for docker users Signed-off-by: xiaoqiang zhao <[email protected]>
1 parent ded85a8 commit f685b95

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

docker/start.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,10 @@ def indexer_no_projects(logger, uri, config_path, extra_indexer_options):
323323
Project less indexer
324324
"""
325325

326+
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
327+
if indexer_java_opts:
328+
indexer_java_opts = indexer_java_opts.split()
329+
326330
wait_for_tomcat(logger, uri)
327331

328332
while True:
@@ -347,7 +351,7 @@ def indexer_no_projects(logger, uri, config_path, extra_indexer_options):
347351
)
348352
indexer_options.extend(extra_indexer_options.split())
349353
indexer = Indexer(
350-
indexer_options, logger=logger, jar=OPENGROK_JAR, doprint=True
354+
indexer_options, java_opts=indexer_java_opts, logger=logger, jar=OPENGROK_JAR, doprint=True
351355
)
352356
indexer.execute()
353357

@@ -421,6 +425,10 @@ def create_bare_config(logger, use_projects, extra_indexer_options=None):
421425
Create bare configuration file with a few basic settings.
422426
"""
423427

428+
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
429+
if indexer_java_opts:
430+
indexer_java_opts = indexer_java_opts.split()
431+
424432
logger.info("Creating bare configuration in {}".format(OPENGROK_CONFIG_FILE))
425433
indexer_options = [
426434
"-s",
@@ -444,7 +452,7 @@ def create_bare_config(logger, use_projects, extra_indexer_options=None):
444452
indexer_options.extend(extra_indexer_options)
445453
if use_projects:
446454
indexer_options.append("-P")
447-
indexer = Indexer(indexer_options, jar=OPENGROK_JAR, logger=logger, doprint=True)
455+
indexer = Indexer(indexer_options, java_opts=indexer_java_opts, jar=OPENGROK_JAR, logger=logger, doprint=True)
448456
indexer.execute()
449457
ret = indexer.getretcode()
450458
if ret != SUCCESS_EXITVAL:
@@ -473,12 +481,16 @@ def check_index_and_wipe_out(logger):
473481
currently running version and the CHECK_INDEX environment variable
474482
is non-empty, wipe out the directories under data root.
475483
"""
484+
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
485+
if indexer_java_opts:
486+
indexer_java_opts = indexer_java_opts.split()
487+
476488
check_index = os.environ.get("CHECK_INDEX")
477489
if check_index and os.path.exists(OPENGROK_CONFIG_FILE):
478490
logger.info("Checking if index matches current version")
479491
indexer_options = ["-R", OPENGROK_CONFIG_FILE, "--checkIndex", "version"]
480492
indexer = Indexer(
481-
indexer_options, logger=logger, jar=OPENGROK_JAR, doprint=True
493+
indexer_options, java_opts=indexer_java_opts, logger=logger, jar=OPENGROK_JAR, doprint=True
482494
)
483495
indexer.execute()
484496
if indexer.getretcode() == 1:

tools/src/main/python/opengrok_tools/reindex_project.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,12 @@ def main():
127127
# Prepend the extra options because we want the arguments to end with a project.
128128
indexer_options = extra_options.split() + indexer_options
129129
java_opts = []
130+
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
130131
if args.java_opts:
131132
java_opts.extend(args.java_opts)
133+
elif indexer_java_opts:
134+
java_opts.extend(indexer_java_opts.split())
135+
132136
if logprop_file:
133137
java_opts.append("-Djava.util.logging.config.file={}".
134138
format(logprop_file))

0 commit comments

Comments
 (0)