Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't omit Xms Java opt #10

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

olivierlacan
Copy link
Member

As discussed with @drunkensway on Slack this build error occurs because -Xms (the minimum heap size) is expected to exist as the $XMS_VALUE environment variable in
java_agent/memoryConfig.sh: line 90.

This is mentioned in Java Memory Agent itself here: https://github.com/jelastic-jps/java-memory-agent#java-memory-agent-add-on-specific

Interestingly we do set Xms in .jvmopts but these seemingly aren't used inside of docker compose for example. Hence the error I observed when trying to run the latest Hydra image version (31, although the version numbers are very confusing):

2023-11-30 18:23:11 /java_agent/memoryConfig.sh: line 90: [[: 2
2023-11-30 18:23:11 2: syntax error in expression (error token is "2")

The code in question is:

  [[ $XMS_VALUE -ge $XMX_VALUE ]] && XMS=${XMX_VALUE}M

Also here: https://github.com/jelastic-jps/java-memory-agent/blob/7fdd2996319d010ac0746b0351971fbe4c752e72/scripts/memoryConfig.sh#L91

As you can see there's an expectation that the $XMS_VALUE is always set.

After supplying this env var to the hydra docker image in my docker-compose.yml, everything worked fine:

JAVA_OPTS: "-Xmx2G -Xms1G"

As discussed with @drunkensway this build error occurs
because -Xms (the minimum heap size) is expected to
exist as the `$XMS_VALUE` environment variable in
java_agent/memoryConfig.sh: line 90.

This is mentioned in Java Memory Agent itself here:
https://github.com/jelastic-jps/java-memory-agent#java-memory-agent-add-on-specific

Interestingly we do set Xms in .jvmopts but these seemingly aren't used
inside of docker compose for example. Hence the error I observed when trying
to run the latest Hydra image version (31, although the version numbers are
very confusing):

```
2023-11-30 18:23:11 /java_agent/memoryConfig.sh: line 90: [[: 2
2023-11-30 18:23:11 2: syntax error in expression (error token is "2")
```

The code in question is:

```
  [[ $XMS_VALUE -ge $XMX_VALUE ]] && XMS=${XMX_VALUE}M
```

Also here: https://github.com/jelastic-jps/java-memory-agent/blob/7fdd2996319d010ac0746b0351971fbe4c752e72/scripts/memoryConfig.sh#L91

As you can see there's an expectation that the $XMS_VALUE is always set.

After supplying this env var to the hydra docker image in my
docker-compose.yml, everything worked fine:

```
JAVA_OPTS: "-Xmx2G -Xms1G"
```
@olivierlacan
Copy link
Member Author

@drunkensway Tests failed but honestly not sure why.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants