Skip to content

Commit bd4dda7

Browse files
hitmoonvladak
andauthored
indexer: add java options to indexer (#4589)
add INDEXER_JAVA_OPTS environment variable pass java_opts to Indexer to tune jvm options This feature is useful for docker users Signed-off-by: xiaoqiang zhao <[email protected]> Co-authored-by: Vladimir Kotal <[email protected]>
1 parent ded85a8 commit bd4dda7

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

docker/start.py

Lines changed: 29 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,11 @@ 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,
355+
java_opts=indexer_java_opts,
356+
logger=logger,
357+
jar=OPENGROK_JAR,
358+
doprint=True,
351359
)
352360
indexer.execute()
353361

@@ -421,6 +429,10 @@ def create_bare_config(logger, use_projects, extra_indexer_options=None):
421429
Create bare configuration file with a few basic settings.
422430
"""
423431

432+
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
433+
if indexer_java_opts:
434+
indexer_java_opts = indexer_java_opts.split()
435+
424436
logger.info("Creating bare configuration in {}".format(OPENGROK_CONFIG_FILE))
425437
indexer_options = [
426438
"-s",
@@ -444,7 +456,13 @@ def create_bare_config(logger, use_projects, extra_indexer_options=None):
444456
indexer_options.extend(extra_indexer_options)
445457
if use_projects:
446458
indexer_options.append("-P")
447-
indexer = Indexer(indexer_options, jar=OPENGROK_JAR, logger=logger, doprint=True)
459+
indexer = Indexer(
460+
indexer_options,
461+
java_opts=indexer_java_opts,
462+
jar=OPENGROK_JAR,
463+
logger=logger,
464+
doprint=True,
465+
)
448466
indexer.execute()
449467
ret = indexer.getretcode()
450468
if ret != SUCCESS_EXITVAL:
@@ -473,12 +491,20 @@ def check_index_and_wipe_out(logger):
473491
currently running version and the CHECK_INDEX environment variable
474492
is non-empty, wipe out the directories under data root.
475493
"""
494+
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
495+
if indexer_java_opts:
496+
indexer_java_opts = indexer_java_opts.split()
497+
476498
check_index = os.environ.get("CHECK_INDEX")
477499
if check_index and os.path.exists(OPENGROK_CONFIG_FILE):
478500
logger.info("Checking if index matches current version")
479501
indexer_options = ["-R", OPENGROK_CONFIG_FILE, "--checkIndex", "version"]
480502
indexer = Indexer(
481-
indexer_options, logger=logger, jar=OPENGROK_JAR, doprint=True
503+
indexer_options,
504+
java_opts=indexer_java_opts,
505+
logger=logger,
506+
jar=OPENGROK_JAR,
507+
doprint=True,
482508
)
483509
indexer.execute()
484510
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)