use of io.questdb.std.FilesFacadeImpl in project questdb by bluestreak01.
the class O3FailureTest method testColumnTopMidAppendContended.
@Test
public void testColumnTopMidAppendContended() throws Exception {
counter.set(3);
executeWithPool(0, O3FailureTest::testColumnTopMidAppendColumnFailRetry0, new FilesFacadeImpl() {
@Override
public long openRW(LPSZ name) {
if (Chars.endsWith(name, "1970-01-07" + Files.SEPARATOR + "v12.d") && counter.decrementAndGet() == 0) {
return -1;
}
return super.openRW(name);
}
});
}
use of io.questdb.std.FilesFacadeImpl in project questdb by bluestreak01.
the class O3FailureTest method testFailOnTruncateKeyIndexContended.
@Test
public void testFailOnTruncateKeyIndexContended() throws Exception {
counter.set(97);
executeWithPool(0, (compiler, sqlExecutionContext, sqlExecutionContext2) -> testColumnTopLastOOOPrefixFailRetry0(sqlExecutionContext, sqlExecutionContext2), new FilesFacadeImpl() {
@Override
public boolean truncate(long fd, long size) {
if (counter.decrementAndGet() == 0) {
return false;
}
return super.truncate(fd, size);
}
});
}
use of io.questdb.std.FilesFacadeImpl in project questdb by bluestreak01.
the class O3FailureTest method testColumnTopMidDataMergeDataFailRetryReadTop.
@Test
public void testColumnTopMidDataMergeDataFailRetryReadTop() throws Exception {
counter.set(2);
executeWithoutPool((compiler, sqlExecutionContext, sqlExecutionContext2) -> testColumnTopMidDataMergeDataFailRetry0(sqlExecutionContext, sqlExecutionContext2), new FilesFacadeImpl() {
long theFd;
@Override
public long openRO(LPSZ name) {
long fd = super.openRO(name);
if (Chars.endsWith(name, "1970-01-07" + Files.SEPARATOR + "v2.top")) {
if (counter.decrementAndGet() == 0) {
theFd = fd;
}
}
return fd;
}
@Override
public long read(long fd, long address, long len, long offset) {
if (fd == theFd) {
theFd = 0;
return 5;
}
return super.read(fd, address, len, offset);
}
});
}
Aggregations