Skip to content

Commit

Permalink
indexer: add java options to indexer (oracle#4589)
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
hitmoon and vladak authored Sep 11, 2024
1 parent ded85a8 commit bd4dda7
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 3 deletions.
32 changes: 29 additions & 3 deletions docker/start.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,10 @@ def indexer_no_projects(logger, uri, config_path, extra_indexer_options):
Project less indexer
"""

indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
if indexer_java_opts:
indexer_java_opts = indexer_java_opts.split()

wait_for_tomcat(logger, uri)

while True:
Expand All @@ -347,7 +351,11 @@ def indexer_no_projects(logger, uri, config_path, extra_indexer_options):
)
indexer_options.extend(extra_indexer_options.split())
indexer = Indexer(
indexer_options, logger=logger, jar=OPENGROK_JAR, doprint=True
indexer_options,
java_opts=indexer_java_opts,
logger=logger,
jar=OPENGROK_JAR,
doprint=True,
)
indexer.execute()

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

indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
if indexer_java_opts:
indexer_java_opts = indexer_java_opts.split()

logger.info("Creating bare configuration in {}".format(OPENGROK_CONFIG_FILE))
indexer_options = [
"-s",
Expand All @@ -444,7 +456,13 @@ def create_bare_config(logger, use_projects, extra_indexer_options=None):
indexer_options.extend(extra_indexer_options)
if use_projects:
indexer_options.append("-P")
indexer = Indexer(indexer_options, jar=OPENGROK_JAR, logger=logger, doprint=True)
indexer = Indexer(
indexer_options,
java_opts=indexer_java_opts,
jar=OPENGROK_JAR,
logger=logger,
doprint=True,
)
indexer.execute()
ret = indexer.getretcode()
if ret != SUCCESS_EXITVAL:
Expand Down Expand Up @@ -473,12 +491,20 @@ def check_index_and_wipe_out(logger):
currently running version and the CHECK_INDEX environment variable
is non-empty, wipe out the directories under data root.
"""
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
if indexer_java_opts:
indexer_java_opts = indexer_java_opts.split()

check_index = os.environ.get("CHECK_INDEX")
if check_index and os.path.exists(OPENGROK_CONFIG_FILE):
logger.info("Checking if index matches current version")
indexer_options = ["-R", OPENGROK_CONFIG_FILE, "--checkIndex", "version"]
indexer = Indexer(
indexer_options, logger=logger, jar=OPENGROK_JAR, doprint=True
indexer_options,
java_opts=indexer_java_opts,
logger=logger,
jar=OPENGROK_JAR,
doprint=True,
)
indexer.execute()
if indexer.getretcode() == 1:
Expand Down
4 changes: 4 additions & 0 deletions tools/src/main/python/opengrok_tools/reindex_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,12 @@ def main():
# Prepend the extra options because we want the arguments to end with a project.
indexer_options = extra_options.split() + indexer_options
java_opts = []
indexer_java_opts = os.environ.get("INDEXER_JAVA_OPTS")
if args.java_opts:
java_opts.extend(args.java_opts)
elif indexer_java_opts:
java_opts.extend(indexer_java_opts.split())

if logprop_file:
java_opts.append("-Djava.util.logging.config.file={}".
format(logprop_file))
Expand Down

0 comments on commit bd4dda7

Please sign in to comment.