-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Ignite-24212 : SQL schema might not be merged on node join. #11824
Ignite-24212 : SQL schema might not be merged on node join. #11824
Conversation
…ma_v2' into IGNITE-24212_Non-persistent_SQL_schema_v2 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
Outdated
Show resolved
Hide resolved
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
Outdated
Show resolved
Hide resolved
afterTestsStopped(); | ||
|
||
beforeTestsStarted(); |
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.
Looks weird, let's introduce new test class for this test
Also:
- the same problem can be reproduced on H2 engine.
- the same problem exists for persistent (if we clean persistent dir for testGrid after stopping)
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.
Hm. For H2 - yes, sure. This is a common schema sharing problem. For persistent cluster I checked without data erasing. Looks like works also for inactive cluster. Ok, for this cases a new test class would be more handy.
if (!patchesToApply.isEmpty()) { | ||
for (Map.Entry<DynamicCacheDescriptor, QuerySchemaPatch> entry : patchesToApply.entrySet()) { | ||
if (entry.getKey().applySchemaPatch(entry.getValue()) && !isClusterActive) | ||
saveCacheConfiguration(entry.getKey()); |
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.
Method saveCacheConfiguration
also called from processJoiningNode
without state check. Do we need to add this check to processJoiningNode
too?
Why do we need state check at all? If it was stored on inactive cluster state in 2/3 of cases, perhaps, it should be stored in all cases? Does cache configuration stored after activation? For example, new node has joined the inactive persistent cluster. Cluster has caches with patches to apply. After activation cluster works some time and shutted down. Will new query entities be available on the new node if it will be started as first node?
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.
This is a good question about storing only on active cluster. I'll try to store every time.
...est/java/org/apache/ignite/internal/processors/cache/index/RejoinWithLostDynamicDdlTest.java
Outdated
Show resolved
Hide resolved
...est/java/org/apache/ignite/internal/processors/cache/index/RejoinWithLostDynamicDdlTest.java
Outdated
Show resolved
Hide resolved
...est/java/org/apache/ignite/internal/processors/cache/index/RejoinWithLostDynamicDdlTest.java
Outdated
Show resolved
Hide resolved
...est/java/org/apache/ignite/internal/processors/cache/index/RejoinWithLostDynamicDdlTest.java
Outdated
Show resolved
Hide resolved
|
Thank you for submitting the pull request to the Apache Ignite.
In order to streamline the review of the contribution
we ask you to ensure the following steps have been taken:
The Contribution Checklist
The description explains WHAT and WHY was made instead of HOW.
The following pattern must be used:
IGNITE-XXXX Change summary
whereXXXX
- number of JIRA issue.(see the Maintainers list)
the
green visa
attached to the JIRA ticket (see TC.Bot: Check PR)Notes
If you need any help, please email [email protected] or ask anу advice on http://asf.slack.com #ignite channel.