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

Update pr-data.csv with Opened PR for gora #1490

Merged

Conversation

ZhanwangZhou
Copy link
Contributor

In gora-ignite/src/main/java/org/apache/gora/ignite/utils/IgniteSQLBuilder, method createInsertQuery and fillInsertQuery convert the entrySet of Map object data into List object list:

List<Entry<Column, Object>> list = new ArrayList<>(data.entrySet());

These two methods then iterate the list and pass its elements as other methods' parameters. The conversion from entrySet of Map to List causes the random order of List's element. This randomness further causes the non-deterministic behavior of put method in gora-ignite/src/main/java/org/apache/gora/ignite/store/IgniteStore, which calls these two methods. All tests calling put method of class IgniteStore are thus flaky.

Similarly, in gora-ignite/src/main/java/org/apache/gora/ignite/store/IgnoreStoreMetadataAnalyzer, method getTableNames iterates an unsorted ResultSet object executeQuery and appends its elements into List of table name Strings. The order of the table names in the list is random, but the list is then returned and compared with a list with fixed order in line 42 of gora-ignite/src/test/java/org/apache/gora/ignite/store/TestIgniteStore

Assert.assertTrue("Ignite Store Metadata Table Names", createAnalyzer.getTablesNames().equals(Lists.newArrayList("WEBPAGE", "EMPLOYEE")));

The randomness of the list returned by getTableNames thus may cause unexpected failure of TestIgniteStore.

@darko-marinov darko-marinov merged commit 742c8f4 into TestingResearchIllinois:main Nov 14, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants