Skip to content

Commit 520ae2b

Browse files
Merge branch 'master' into backtrace-data-models-refactor
2 parents ac49112 + 1955453 commit 520ae2b

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

backtrace-library/src/main/java/backtraceio/library/services/BacktraceDatabaseContext.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private BacktraceDatabaseContext(String path, int retryNumber, RetryOrder retryO
9393
* Setup cache
9494
*/
9595
private void setupBatch() {
96-
if (this._retryNumber == 0) {
96+
if (this._retryNumber <= 0) {
9797
throw new IllegalArgumentException("Retry number must be greater than 0!");
9898
}
9999

@@ -136,7 +136,7 @@ public BacktraceDatabaseRecord add(BacktraceDatabaseRecord backtraceDatabaseReco
136136
}
137137
backtraceDatabaseRecord.locked = true;
138138
this.totalSize += backtraceDatabaseRecord.getSize();
139-
this.batchRetry.get(0).add(backtraceDatabaseRecord); // TODO: null
139+
this.addToFirstBatch(backtraceDatabaseRecord);
140140
this.totalRecords++;
141141
return backtraceDatabaseRecord;
142142
}
@@ -314,7 +314,7 @@ public boolean removeOldestRecord() {
314314
private void incrementBatches() {
315315
for (int i = this._retryNumber - 2; i >= 0; i--) {
316316
List<BacktraceDatabaseRecord> currentBatch = this.batchRetry.get(i);
317-
batchRetry.put(i, new ArrayList<BacktraceDatabaseRecord>());
317+
batchRetry.put(i, new ArrayList<>());
318318
batchRetry.put(i + 1, currentBatch);
319319
}
320320
}
@@ -354,7 +354,6 @@ private BacktraceDatabaseRecord getLastRecord() {
354354
return getRecordFromCache(true);
355355
}
356356

357-
358357
/**
359358
* Get record in in-cache BacktraceDatabase
360359
*
@@ -382,4 +381,21 @@ private BacktraceDatabaseRecord getRecordFromCache(boolean reverse) {
382381
}
383382
return null;
384383
}
384+
385+
private void addToFirstBatch(BacktraceDatabaseRecord backtraceDatabaseRecord) {
386+
final int firstBatch = 0;
387+
388+
if (this.batchRetry.isEmpty()) {
389+
this.batchRetry.put(firstBatch, new ArrayList<>());
390+
}
391+
392+
List<BacktraceDatabaseRecord> batch = this.batchRetry.get(firstBatch);
393+
394+
if (batch == null) {
395+
batch = new ArrayList<>();
396+
this.batchRetry.put(firstBatch, batch);
397+
}
398+
399+
batch.add(backtraceDatabaseRecord);
400+
}
385401
}

0 commit comments

Comments
 (0)