-
Notifications
You must be signed in to change notification settings - Fork 136
IGNITE-17085 Support persistent case for page-memory-based MV storage #976
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
Conversation
| * Abstract implementation of {@link PartitionStorage} based on a {@link BplusTree}. | ||
| */ | ||
| // TODO: IGNITE-16644 Support snapshots. | ||
| abstract class AbstractPageMemoryPartitionStorage implements PartitionStorage { |
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.
I don't get this class. PartitionStorage is deprecated, what's the point? Can you please explain?
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.
We will get rid of this in a separate IGNITE-17466, but for now, let it be right
| @Override | ||
| public PageMemoryMvPartitionStorage createMvPartitionStorage(int partitionId) { | ||
| throw new UnsupportedOperationException("Not supported yet"); | ||
| public PersistentPageMemoryMvPartitionStorage createMvPartitionStorage(int partitionId) { |
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.
Do we need an old method for creating partition? It can just throw UnsupportedOperationException.
Why did you rename partId to partitionId in method that has nothing to do with your code btw? Why was it necessary?
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.
Let's get rid of the old method in ticket IGNITE-17466, what's stopping you from renaming?
...ain/java/org/apache/ignite/internal/storage/pagememory/PersistentPageMemoryTableStorage.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/ignite/internal/storage/pagememory/VolatilePageMemoryDataRegion.java
Outdated
Show resolved
Hide resolved
.../main/java/org/apache/ignite/internal/storage/pagememory/mv/PageMemoryMvStorageIoModule.java
Outdated
Show resolved
Hide resolved
...emory/src/main/java/org/apache/ignite/internal/storage/pagememory/mv/RowVersionFreeList.java
Outdated
Show resolved
Hide resolved
| } | ||
|
|
||
| @Test | ||
| void testVersionChainTreeRootPageId() { |
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.
What are these tests for? Just to test setters and getters?
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.
Yes, but also to check metadata snapshots for those setters
...emory/src/test/java/org/apache/ignite/internal/pagememory/persistence/PartitionMetaTest.java
Show resolved
Hide resolved
|
|
||
| CheckpointManager checkpointManager = dataRegion.checkpointManager(); | ||
|
|
||
| CheckpointTimeoutLock checkpointTimeoutLock = checkpointManager.checkpointTimeoutLock(); |
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.
Not related to this PR, but I think that CheckpointTimeoutLock is a very misleading name
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.
Maybe.
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.
Can you create a ticket for fixing this?
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.
I don't know because we're trying to take the lock by timeout.
https://issues.apache.org/jira/browse/IGNITE-17085