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 <[email protected]>