public abstract class PagesList extends DataStructure
| Modifier and Type | Class and Description |
|---|---|
static class |
PagesList.Stripe |
| Modifier and Type | Field and Description |
|---|---|
protected AtomicLong[] |
bucketsSize |
protected boolean |
changed |
protected String |
name
Name (for debug purposes).
|
| Modifier | Constructor and Description |
|---|---|
protected |
PagesList(int cacheId,
String name,
PageMemory pageMem,
int buckets,
IgniteWriteAheadLogManager wal,
long metaPageId) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract boolean |
casBucket(int bucket,
PagesList.Stripe[] exp,
PagesList.Stripe[] upd) |
protected abstract PagesList.Stripe[] |
getBucket(int bucket) |
protected void |
init(long metaPageId,
boolean initNew) |
protected abstract boolean |
isReuseBucket(int bucket) |
protected void |
put(ReuseBag bag,
long dataId,
long dataPage,
long dataAddr,
int bucket) |
protected boolean |
removeDataPage(long dataId,
long dataPage,
long dataAddr,
DataPageIO dataIO,
int bucket) |
void |
saveMetadata() |
protected long |
storedPagesCount(int bucket)
!!!
|
protected long |
takeEmptyPage(int bucket,
IOVersions initIoVers) |
acquirePage, allocatePage, allocatePageNoReuse, groupId, init, needWalDeltaRecord, onBeforeReadLock, onBeforeWriteLock, onReadLock, onReadUnlock, onWriteLock, onWriteUnlock, pageSize, randomInt, read, read, readLock, readUnlock, recyclePage, releasePage, tryWriteLock, write, write, write, write, writeLock, writeUnlock, writeUnlockprotected final AtomicLong[] bucketsSize
protected volatile boolean changed
protected final String name
protected PagesList(int cacheId,
String name,
PageMemory pageMem,
int buckets,
IgniteWriteAheadLogManager wal,
long metaPageId)
cacheId - Cache ID.name - Name (for debug purpose).pageMem - Page memory.buckets - Number of buckets.wal - Write ahead log manager.metaPageId - Metadata page ID.protected final void init(long metaPageId,
boolean initNew)
throws IgniteCheckedException
metaPageId - Metadata page ID.initNew - True if new list if created, false if should be initialized from metadata.IgniteCheckedException - If failed.public void saveMetadata()
throws IgniteCheckedException
IgniteCheckedException - If failed.protected abstract PagesList.Stripe[] getBucket(int bucket)
bucket - Bucket index.protected abstract boolean casBucket(int bucket,
PagesList.Stripe[] exp,
PagesList.Stripe[] upd)
bucket - Bucket index.exp - Expected bucket.upd - Updated bucket.true If succeeded.protected abstract boolean isReuseBucket(int bucket)
bucket - Bucket index.true If it is a reuse bucket.protected final long storedPagesCount(int bucket)
throws IgniteCheckedException
bucket - Bucket index.IgniteCheckedException - If failed.protected final void put(ReuseBag bag, long dataId, long dataPage, long dataAddr, int bucket) throws IgniteCheckedException
bag - Reuse bag.dataId - Data page ID.dataPage - Data page pointer.dataAddr - Data page address.bucket - Bucket.IgniteCheckedException - If failed.protected final long takeEmptyPage(int bucket,
@Nullable
IOVersions initIoVers)
throws IgniteCheckedException
bucket - Bucket index.initIoVers - Optional IO to initialize page.IgniteCheckedException - If failed.protected final boolean removeDataPage(long dataId,
long dataPage,
long dataAddr,
DataPageIO dataIO,
int bucket)
throws IgniteCheckedException
dataId - Data page ID.dataPage - Data page pointer.dataAddr - Data page address.dataIO - Data page IO.bucket - Bucket index.True if page was removed.IgniteCheckedException - If failed.
Follow @ApacheIgnite
Ignite Fabric : ver. 2.2.0 Release Date : September 15 2017