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

Out of memory testing our implementation #181

Closed
jerstlouis opened this issue Oct 31, 2021 · 5 comments
Closed

Out of memory testing our implementation #181

jerstlouis opened this issue Oct 31, 2021 · 5 comments
Assignees
Labels
question Further information is requested

Comments

@jerstlouis
Copy link
Member

Describe the bug

validate Feature Collections Metadata Operation | java.lang.OutOfMemoryError: Java heap space

This hapens with both https://cite.opengeospatial.org/teamengine/ and https://cite.opengeospatial.org/te2/

To Reproduce
Steps to reproduce the behavior:

Test https://maps.ecere.com/ogcapi (3 max collections)

Expected behavior
Not running out of memory.

Additional context
This also leads to many other "Skipped" tests, e.g. in Core:

validate Feature Collections Metadata Operation Response_ Items | org.testng.SkipException: Could not find a response for test point Server URL: https://maps.ecere.com/ogcapi , Path: /collections, Replacements: {}

validate Feature Collection Metadata Operation | java.lang.Throwable: Method FeatureCollection.validateFeatureCollectionMetadataOperation(org.testng.ITestContext, java.util.Map)<br>[pri:0, instance:org.opengis.cite.ogcapifeatures10.conformance.core.collections.FeatureCollection@7278cf49] depends on not successfully finished methods in group "collections"

validate Feature Collections Metadata Operation Response_ Links
org.testng.SkipException: Could not find a response for test point Server URL: https://maps.ecere.com/ogcapi , Path: /collections, Replacements: {}

validate Feature Collections Metadata Operation Response_ Crs Property
org.testng.SkipException: Could not find a response for test point Server URL: https://maps.ecere.com/ogcapi , Path: /collections, Replacements: {}

validate Feature Collections Metadata Operation Response_ Content
org.testng.SkipException: Could not find a response for test point Server URL: https://maps.ecere.com/ogcapi , Path: /collections, Replacements: {}

And in CRS:

verify Collections Collection Crs Identifier Of Storage Crs
java.lang.RuntimeException: java.util.NoSuchElementException: No value present

verify Collections Path Collection Crs Property Contains Default Crs
java.lang.RuntimeException: java.util.NoSuchElementException: No value present

verify Collections Collection Crs Identifier Of Crs Property
java.lang.RuntimeException: java.util.NoSuchElementException: No value present

verify Collections Path Collection Crs Property Contains Default Crs
java.lang.RuntimeException: java.util.NoSuchElementException: No value present
@dstenger
Copy link
Contributor

dstenger commented Nov 5, 2021

Thank you for reporting.
We are already working on a solution for this problem. It seems to be environment specific.

@dstenger dstenger added the question Further information is requested label Nov 8, 2021
@dstenger
Copy link
Contributor

dstenger commented Nov 8, 2021

@jerstlouis We did some updates on the two mentioned environments (https://cite.opengeospatial.org/teamengine/ and https://cite.opengeospatial.org/te2/) today.
Now, the test suite should run without encountering OutOfMemoryErrors.
Can you please check if your problems are solved?

@dstenger dstenger assigned jerstlouis and unassigned dstenger and ghobona Nov 8, 2021
@jerstlouis
Copy link
Member Author

jerstlouis commented Nov 9, 2021

@dstenger Thank you for the update.
We ran the same test on both the production and beta CITE environments successfully without encountering Out of Memory issues this time around.

Testing time is extremely long though (about 30 minutes), even testing with only 3 collections, and I don't think it is because of processing or data transfer time on our end. It is also a lot more time than the sum of the duration of the tests, most of which are under 1s except for 4 that take up to ~1min30s. There is also no progress bar of any kind to tell us how far along we are in the set of tests.

I would also like to point out that when the OoM issue was happening, our implementation was reported as failing Part 1: Core but passing Part 2: CRS successfully. After the OoM issue was fixed, we passed Part 1: Core, but failed Part 2: CRS because we had not yet implemented bbox-crs.

Should Part 2: CRS perhaps not be tested if Part 1: Core failed? Or perhaps the CRS tests need to be modified so that it does not succeed if the important tests were skipped?

After implementing support for bbox-crs, our implementation now passes both Part 1: Core and Part 2: CRS (on both production and beta environments).

@dstenger
Copy link
Contributor

dstenger commented Nov 9, 2021

We ran the same test on both the production and beta CITE environments successfully without encountering Out of Memory issues this time around.

Very good, thank you for the feedback.

Testing time is extremely long though (about 30 minutes), even testing with only 3 collections, and I don't think it is because of processing or data transfer time on our end. It is also a lot more time than the sum of the duration of the tests, most of which are under 1s except for 4 that take up to ~1min30s. There is also no progress bar of any kind to tell us how far along we are in the set of tests.

The Console opening in a separate window after starting the tests should display the progress of the test suite. However, I realize that the output is limited there. If this is important for you, can you please open a new issue for that?

I would also like to point out that when the OoM issue was happening, our implementation was reported as failing Part 1: Core but passing Part 2: CRS successfully. After the OoM issue was fixed, we passed Part 1: Core, but failed Part 2: CRS because we had not yet implemented bbox-crs.

The behavior of the test suites before and after the OoM issue should be identical. The latest update of this test suite on Beta (te2) was done in July 2021 and on Production in September 2021.

Should Part 2: CRS perhaps not be tested if Part 1: Core failed? Or perhaps the CRS tests need to be modified so that it does not succeed if the important tests were skipped?

Both parts act independently from each other. We already introduced dependencies between tests if necessary. If you see any potential for improvements here, please open a new issue.

After implementing support for bbox-crs, our implementation now passes both Part 1: Core and Part 2: CRS (on both production and beta environments).

Perfect, good to hear.

Can you please go through my comments and open further issues if necessary? I propose to close this issue afterwards as the problem described in this issue was solved.

@jerstlouis
Copy link
Member Author

@dstenger Thank you, I have opened the following issues:

Closing this issue which has been resolved. Thank you!

@dstenger dstenger added this to CITE Aug 1, 2024
@dstenger dstenger moved this to Done in CITE Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Archived in project
Development

No branches or pull requests

3 participants