-
Notifications
You must be signed in to change notification settings - Fork 1
Add RES microservice to the Docker Compose setup #369
Conversation
I think it might be worth it to have a different stage on Travis where we run the Outgestion integration tests in parallel, and i assume this translates to being able to run them ike |
Hi, I've tested with the following three combinations of bootstrapping but none of then went through the ingestion test (with
Also, for the EGA microservices, the images are retrieved from Detailed error messages from logs for the above three tests are pasted below. For the test 3, it seems the format of the PGP key is not set correctly.
|
|
Hi @dtitov, Thanks for clarification. Then it goes to my second point. It is probably better use the |
Tested with both the OpenSSH inbox and the Mina inbox, ingestion test passed. This pull request requires the merging of EGA-archive/ega-data-api#45 |
getting some inconsistent behaviour with the Outgestion similar to what we are getting on Travis e.g. https://travis-ci.org/NBISweden/LocalEGA/jobs/436193340#L1737
On first run I get the same error as on travis, on the following runs the tests pass. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dtitov Please squash the last 11 commits :D
Regarding the travis tests:
- I will test if we can speed this up by dividing the parallel jobs into different stages and if this solves our issues
- we will have to think if we outgrew travis and need a dedicated CI ( we will have two more services)
- we will nee to look at the memory consumption for RES and Keyserver
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should exclude res
for the IngestionTests
, this would improve the Travis time.
From the Robustness tests I think we should keep it or if we test the Robustness of the Data Out in ega-data-api
repo, here we will also can test only the robustness of the Data Ingestion.
Testing the robustness of the whole setup should be performed on a testing environment along with end to end testing (meaning trigger an update on a custom server and run the tests there).
Follow-up with https://github.com/EGA-archive/ega-data-api/ devs as the Some optimisation if possible is required on the Data Out. |
Hi @blankdots , is this 1GB RAM usage the peak consumption or constant? |
@nanjiangshu you can take a look for yourself Scenario is as follows:
Peek 2018-10-03 15-54.webm.zip Note: I could only upload as |
Thanks @blankdots for sharing this video. It seems it is generally a problem with Java. The Mina Inbox uses also significantly more memory (at +400Mb) than others. |
Guys, I wouldn't be to fast to say that it's "Java problem". There are some good explanations here: https://spring.io/blog/2015/12/10/spring-boot-memory-performance What I can say right now it that at least each REST Spring Boot application contains built-in Web-server (Tomcat or Jetty), which is already a memory-consuming thing. Then there are some other things like the recently added Hystrix, that is residing in the memory and is doing its job in the background, etc. At the moment, I don't see a problem in the fact that microservice consumes 1.5GB RAM - unless memory usage starts growing indefinitely which will signalize of a memory-leak (but we don't have that kind of behavior currently). Another problematic thing is Travis - but I would say that it's more of a Travis problem rather than application problem. |
We can take this discussion elsewhere, but it was just something I observed as part of debugging why tests failed on Travis, i do not blame it on anything, but I am curious if and what we can optimize. The only concern, that i should have articulated is the trend of ~1GB RAM per service in Data Out, and we have 2 more services to add it will result in 4 -5 GB just to run the Data Out, and I do not think this is desirable, but it is what it is. |
Well, as Alexander mentioned, with caching enabled only RES can consume up to 12GBs in their setup and it's considered to be okay... But of course, I agree that the lower memory consumption we can achieve, the better it is. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Travis build seems to be stable, and passing without supervision and the RES was added and tested.
Still some issues i observed with the timeout e.g. https://travis-ci.org/NBISweden/LocalEGA/jobs/438959330#L1747 and https://travis-ci.org/NBISweden/LocalEGA/jobs/438959330#L1844 and the fact that the time to build is 25 min and the memory consumption is too high are not desirable, however these are not the subject of this issue and I think we should investigate them in another issue (up to a certain point as this is CI/CD seems to be a time black hole).
Great. Shall we merge it? |
Add RES microservice to the Docker Compose setup
Describe the pull request:
Pull request long description:
Brings RES DAta Out microservice to Docker Compose setup.