This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 6c27725c073 Fix invalid version exception after data source unit
altered (#34168)
6c27725c073 is described below
commit 6c27725c07369034428e6bbaa2c904f7a96abafe
Author: Haoran Meng <[email protected]>
AuthorDate: Thu Dec 26 21:16:14 2024 +0800
Fix invalid version exception after data source unit altered (#34168)
---
.../persist/service/ClusterMetaDataManagerPersistService.java | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
index 6e8bb550423..880df297bbb 100644
---
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
+++
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
@@ -125,7 +125,7 @@ public final class ClusterMetaDataManagerPersistService
implements MetaDataManag
MetaDataContexts reloadMetaDataContexts =
MetaDataContextsFactory.createBySwitchResource(databaseName, false,
switchingResource, originalMetaDataContexts,
metaDataPersistService, metaDataContextManager.getComputeNodeInstanceContext());
metaDataPersistService.getDataSourceUnitService().persist(databaseName,
toBeRegisteredProps);
- afterStorageUnitsRegistered(databaseName,
originalMetaDataContexts, reloadMetaDataContexts);
+ afterStorageUnitsAltered(databaseName, originalMetaDataContexts,
reloadMetaDataContexts);
reloadMetaDataContexts.close();
} finally {
closeNewDataSources(newDataSources);
@@ -179,7 +179,7 @@ public final class ClusterMetaDataManagerPersistService
implements MetaDataManag
return
toBeDroppedResourceNames.stream().filter(propsMap::containsKey).collect(Collectors.toList());
}
- private void afterStorageUnitsRegistered(final String databaseName, final
MetaDataContexts originalMetaDataContexts, final MetaDataContexts
reloadMetaDataContexts) {
+ private void afterStorageUnitsAltered(final String databaseName, final
MetaDataContexts originalMetaDataContexts, final MetaDataContexts
reloadMetaDataContexts) {
Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
.ifPresent(optional ->
optional.getSchemaData().forEach((schemaName, schemaData) ->
metaDataPersistService.getShardingSphereDataPersistService()
.persist(originalMetaDataContexts.getMetaData().getDatabase(databaseName),
schemaName, schemaData)));
@@ -187,12 +187,6 @@ public final class ClusterMetaDataManagerPersistService
implements MetaDataManag
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
}
- private void afterStorageUnitsAltered(final String databaseName, final
MetaDataContexts originalMetaDataContexts, final MetaDataContexts
reloadMetaDataContexts) {
-
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getAllSchemas().forEach(each
-> metaDataPersistService.getDatabaseMetaDataFacade()
-
.getSchema().alterByRuleAltered(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(),
each));
- afterStorageUnitsRegistered(databaseName, originalMetaDataContexts,
reloadMetaDataContexts);
- }
-
private void afterStorageUnitsDropped(final String databaseName, final
MetaDataContexts originalMetaDataContexts, final MetaDataContexts
reloadMetaDataContexts) {
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getAllSchemas().forEach(each
-> metaDataPersistService.getDatabaseMetaDataFacade()
.getSchema().alterByRuleDropped(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(),
each));