Michael Blow has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1346
Change subject: ASTERIXDB-1570: "Unable to find free page in buffer cache after 1000 cycles" ...................................................................... ASTERIXDB-1570: "Unable to find free page in buffer cache after 1000 cycles" Increase test buffer cache size to reliably accomodate 20M values Change-Id: I620de9ade875f7f7de26aa7495d9fd873824ac83 --- M asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml M asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java M hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java 3 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/46/1346/1 diff --git a/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml b/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml index ef0cdf2..90dbe5f 100644 --- a/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml +++ b/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml @@ -74,15 +74,15 @@ <name>storage.buffercache.pagesize</name> <value>32KB</value> <description>The page size in bytes for pages in the buffer cache. - (Default = "32768" // 32KB) + (Default = "128KB") </description> </property> <property> <name>storage.buffercache.size</name> - <value>32MB</value> + <value>48MB</value> <description>The size of memory allocated to the disk buffer cache. - The value should be a multiple of the buffer cache page size(Default - = "33554432" // 32MB) + The value should be a multiple of the buffer cache page size + (Default = "512MB") </description> </property> <property> diff --git a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java index c6da1c0..4080325 100644 --- a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java +++ b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java @@ -185,8 +185,7 @@ } lineActual = readerActual.readLine(); if (lineActual != null) { - throw new ComparisonException( - "Result for " + scriptFile + " changed at line " + num + ":\n< \n> " + lineActual); + throwLineChanged(scriptFile, "<EOF>", lineActual, num); } } catch (Exception e) { System.err.println("Actual results file: " + actualFile.toString()); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java index ed33cc4..8ff9ab6 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/buffercache/BufferCache.java @@ -1248,7 +1248,7 @@ private ICachedPage getPageLoop(long dpid, int multiplier, boolean confiscate) throws HyracksDataException { - final long startingPinCount = masterPinCount.get(); + final long startingPinCount = DEBUG ? masterPinCount.get() : -1; int cycleCount = 0; try { while (true) { @@ -1291,15 +1291,16 @@ if (cycleCount > MAX_PIN_ATTEMPT_CYCLES) { cycleCount = 0; // suppress warning below throw new HyracksDataException("Unable to find free page in buffer cache after " - + MAX_PIN_ATTEMPT_CYCLES + " cycles (buffer cache undersized?); " - + (masterPinCount.get() - startingPinCount) + " successful pins since start of cycle"); + + MAX_PIN_ATTEMPT_CYCLES + " cycles (buffer cache undersized?)" + (DEBUG ? " ; " + + (masterPinCount.get() - startingPinCount) + " successful pins since start of cycle" + : "")); } } } finally { if (cycleCount > PIN_ATTEMPT_CYCLES_WARNING_THRESHOLD && LOGGER.isLoggable(Level.WARNING)) { LOGGER.warning("Took " + cycleCount + " cycles to find free page in buffer cache. (buffer cache " + - "undersized?); " + (masterPinCount.get() - startingPinCount) + - " successful pins since start of cycle"); + "undersized?)" + (DEBUG ? " ; " + (masterPinCount.get() - startingPinCount) + + " successful pins since start of cycle" : "")); } } } -- To view, visit https://asterix-gerrit.ics.uci.edu/1346 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I620de9ade875f7f7de26aa7495d9fd873824ac83 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Michael Blow <mb...@apache.org>