Conversation
# Conflicts: # modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteSchema.java
Possible compatibility issues. Please, check rolling upgrade casesThis PR modifies protected classes (with Order annotation). Affected files:
|
|
|
||
| The delete operation is subject to the following limitations: | ||
|
|
||
| * The deletion is rejected if any concurrent snapshot operation (create, restore, check, or a delete with the same name) is |
There was a problem hiding this comment.
if any concurrent - "concurrent_" is sounds like our working term it clear for you and me but for common people you need to re-phrase it like : "The deletion is rejected if any snapshot operation with the same snapshot path\name" smth like this. Concurrent may be treated like JUST one more snapshot operation no matter with this name\path or another.
|
|
||
| * The deletion is rejected if any concurrent snapshot operation (create, restore, check, or a delete with the same name) is | ||
| active for the snapshot. | ||
| * The operation is irreversible. It cannot be undone, and the deleted snapshot cannot be restored. |
There was a problem hiding this comment.
| * The operation is irreversible. It cannot be undone, and the deleted snapshot cannot be restored. | |
| * The operation cannot be cancelled. It cannot be undone, and the deleted snapshot cannot be restored. |
| * The deletion is rejected if any concurrent snapshot operation (create, restore, check, or a delete with the same name) is | ||
| active for the snapshot. | ||
| * The operation is irreversible. It cannot be undone, and the deleted snapshot cannot be restored. | ||
| * The command prompts for a confirmation before the deletion because the operation is irreversible and cannot be undone. |
There was a problem hiding this comment.
| * The command prompts for a confirmation before the deletion because the operation is irreversible and cannot be undone. | |
| * The command prompts for a confirmation before the deletion. |
| public class SnapshotDeleteCommand extends AbstractSnapshotCommand<SnapshotDeleteCommandArg, SnapshotDeleteProcessResult> { | ||
| /** {@inheritDoc} */ | ||
| @Override public String description() { | ||
| return "Deletes snapshot and all its increments from all the online server nodes"; |
| if (!F.isEmpty(res.uncompletedNodes())) { | ||
| found = true; | ||
|
|
||
| printer.accept("WARNING, the following nodes found snapshot data but might not remove it completely " |
There was a problem hiding this comment.
| printer.accept("WARNING, the following nodes found snapshot data but might not remove it completely " | |
| printer.accept("WARNING: the following nodes found snapshot data but might not remove it completely" | |
| ``` also i can\t fount the relative test, plz append it |
There was a problem hiding this comment.
also : do we need here and else where "." at the end ?
|
|
||
| /** */ | ||
| @Test | ||
| public void testConcurrentUnfinishedRU() throws Exception { |
There was a problem hiding this comment.
test name - confusing, rename it please, or append java doc
|
|
||
| /** Nodes which found snapshot data and completely removed it. */ | ||
| @Order(0) | ||
| @Nullable Collection<UUID> completedNodes; |
There was a problem hiding this comment.
probably it`s better to initialize with empty collections all of them ? And aslo initialization constructor code references ?
|
|
||
| /** */ | ||
| @Test | ||
| public void testNodeNotSupportingSnapshotDeleteFeature() throws Exception { |
There was a problem hiding this comment.
test name need to be changed, as I can see - this test is about unsupported ver of thick client?
| for (int i = 0; i < ALL_GRIDS; i++) { | ||
| assertFalse(ru(grid(i)).isVersionUpgradeEnabled()); | ||
|
|
||
| assertFalse(F.isEmpty(snp(i).deleteSnapshot(SNP_NAME, null).get().completedNodes)); |
There was a problem hiding this comment.
| for (int i = 0; i < ALL_GRIDS; i++) { | |
| assertFalse(ru(grid(i)).isVersionUpgradeEnabled()); | |
| assertFalse(F.isEmpty(snp(i).deleteSnapshot(SNP_NAME, null).get().completedNodes)); | |
| @Nullable Collection<UUID> compNodes = null; | |
| for (int i = 0; i < ALL_GRIDS; i++) { | |
| assertFalse(ru(grid(i)).isVersionUpgradeEnabled()); | |
| if (compNodes == null) | |
| compNodes = snp(i).deleteSnapshot(SNP_NAME, null).get().completedNodes(); | |
| else | |
| assertEqualsCollectionsIgnoringOrder(compNodes, snp(i).deleteSnapshot(SNP_NAME, null).get().completedNodes()); |
| int partsCnt = 32; | ||
| int keysCnt = partsCnt * 10; | ||
|
|
||
| grid(gridIdx).createCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME) | ||
| .setCacheMode(CacheMode.REPLICATED) | ||
| .setBackups(1) | ||
| .setAffinity(new RendezvousAffinityFunction().setPartitions(32)) | ||
| .setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC) | ||
| .setAtomicityMode(CacheAtomicityMode.ATOMIC)); |
There was a problem hiding this comment.
| int partsCnt = 32; | |
| int keysCnt = partsCnt * 10; | |
| grid(gridIdx).createCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME) | |
| .setCacheMode(CacheMode.REPLICATED) | |
| .setBackups(1) | |
| .setAffinity(new RendezvousAffinityFunction().setPartitions(32)) | |
| .setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC) | |
| .setAtomicityMode(CacheAtomicityMode.ATOMIC)); | |
| int partsCnt = 5; | |
| int keysCnt = partsCnt * 10; | |
| grid(gridIdx).createCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME) | |
| .setCacheMode(CacheMode.REPLICATED) | |
| .setAffinity(new RendezvousAffinityFunction().setPartitions(partsCnt)) | |
| .setAtomicityMode(CacheAtomicityMode.ATOMIC)); |
a bit speed up
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 summarywhereXXXX- number of JIRA issue.(see the Maintainers list)
the
green visaattached to the JIRA ticket (see tabPR Checkat TC.Bot - Instance 1 or TC.Bot - Instance 2)Notes
If you need any help, please email dev@ignite.apache.org or ask anу advice on http://asf.slack.com #ignite channel.