@@ -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