use of org.apache.ignite.internal.processors.cache.database.MemoryMetricsImpl in project ignite by apache.
the class BPlusTreeBenchmark method createPageMemory.
/**
* @return Page memory.
* @throws Exception If failed.
*/
private PageMemory createPageMemory() throws Exception {
long[] sizes = new long[CPUS];
for (int i = 0; i < sizes.length; i++) sizes[i] = 1024 * MB / CPUS;
MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(1024 * MB);
PageMemory pageMem = new PageMemoryNoStoreImpl(new JavaLogger(), new UnsafeMemoryProvider(new JavaLogger()), null, PAGE_SIZE, plcCfg, new MemoryMetricsImpl(plcCfg), false);
pageMem.start();
return pageMem;
}
use of org.apache.ignite.internal.processors.cache.database.MemoryMetricsImpl in project ignite by apache.
the class MetadataStorageSelfTest method memory.
/**
* @param clean Clean flag. If {@code true}, will clean previous memory state and allocate
* new empty page memory.
* @return Page memory instance.
*/
protected PageMemory memory(boolean clean) throws Exception {
DirectMemoryProvider provider = new MappedFileMemoryProvider(log(), allocationPath);
MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(30 * 1024 * 1024).setInitialSize(30 * 1024 * 1024);
return new PageMemoryNoStoreImpl(log, provider, null, PAGE_SIZE, plcCfg, new MemoryMetricsImpl(plcCfg), true);
}
use of org.apache.ignite.internal.processors.cache.database.MemoryMetricsImpl in project ignite by apache.
the class PageMemoryNoLoadSelfTest method memory.
/**
* @return Page memory implementation.
* @throws Exception If failed.
*/
protected PageMemory memory() throws Exception {
File memDir = U.resolveWorkDirectory(U.defaultWorkDirectory(), "pagemem", false);
MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(MAX_MEMORY_SIZE).setInitialSize(MAX_MEMORY_SIZE);
DirectMemoryProvider provider = new MappedFileMemoryProvider(log(), memDir);
return new PageMemoryNoStoreImpl(log(), provider, null, PAGE_SIZE, plcCfg, new MemoryMetricsImpl(plcCfg), true);
}
use of org.apache.ignite.internal.processors.cache.database.MemoryMetricsImpl in project ignite by apache.
the class InlineIndexHelperTest method testStringTruncate.
/** */
public void testStringTruncate() throws Exception {
MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(1024 * MB);
JavaLogger log = new JavaLogger();
PageMemory pageMem = new PageMemoryNoStoreImpl(log, new UnsafeMemoryProvider(log), null, PAGE_SIZE, plcCfg, new MemoryMetricsImpl(plcCfg), false);
pageMem.start();
long pageId = 0L;
long page = 0L;
try {
pageId = pageMem.allocatePage(CACHE_ID, 1, PageIdAllocator.FLAG_DATA);
page = pageMem.acquirePage(CACHE_ID, pageId);
long pageAddr = pageMem.readLock(CACHE_ID, pageId, page);
int off = 0;
InlineIndexHelper ih = new InlineIndexHelper(Value.STRING, 1, 0);
ih.put(pageAddr, off, ValueString.get("aaaaaaa"), 3 + 5);
assertFalse(ih.isValueFull(pageAddr, off));
assertEquals("aaaaa", ih.get(pageAddr, off, 3 + 5).getString());
ih.put(pageAddr, off, ValueString.get("aaa"), 3 + 5);
assertTrue(ih.isValueFull(pageAddr, off));
assertEquals("aaa", ih.get(pageAddr, off, 3 + 5).getString());
} finally {
if (page != 0L)
pageMem.releasePage(CACHE_ID, pageId, page);
pageMem.stop();
}
}
use of org.apache.ignite.internal.processors.cache.database.MemoryMetricsImpl in project ignite by apache.
the class InlineIndexHelperTest method testPutGet.
/** */
private void testPutGet(Value v1, Value v2, Value v3) throws Exception {
MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(1024 * MB);
JavaLogger log = new JavaLogger();
PageMemory pageMem = new PageMemoryNoStoreImpl(log, new UnsafeMemoryProvider(log), null, PAGE_SIZE, plcCfg, new MemoryMetricsImpl(plcCfg), false);
pageMem.start();
long pageId = 0L;
long page = 0L;
try {
pageId = pageMem.allocatePage(CACHE_ID, 1, PageIdAllocator.FLAG_DATA);
page = pageMem.acquirePage(CACHE_ID, pageId);
long pageAddr = pageMem.readLock(CACHE_ID, pageId, page);
int off = 0;
int max = 255;
InlineIndexHelper ih = new InlineIndexHelper(v1.getType(), 1, 0);
off += ih.put(pageAddr, off, v1, max - off);
off += ih.put(pageAddr, off, v2, max - off);
off += ih.put(pageAddr, off, v3, max - off);
Value v11 = ih.get(pageAddr, 0, max);
Value v22 = ih.get(pageAddr, ih.fullSize(pageAddr, 0), max);
assertEquals(v1.getObject(), v11.getObject());
assertEquals(v2.getObject(), v22.getObject());
} finally {
if (page != 0L)
pageMem.releasePage(CACHE_ID, pageId, page);
pageMem.stop();
}
}
Aggregations