@@ -105,8 +105,7 @@ public ExportReport startExport(
105105 isFirstBatch ,
106106 exportReport ));
107107 }
108- processFooter (exportOptions , tableMetadata , bufferedWriter );
109- } catch (IOException | UnknownTransactionStatusException | CrudException e ) {
108+ } catch (UnknownTransactionStatusException | CrudException e ) {
110109 logger .error ("Error during export: " , e );
111110 } finally {
112111 executorService .shutdown ();
@@ -120,7 +119,18 @@ public ExportReport startExport(
120119 Thread .currentThread ().interrupt ();
121120 logger .error ("Interrupted while waiting for executor termination" , e );
122121 }
123- bufferedWriter .flush ();
122+ // Process footer after all tasks are complete
123+ try {
124+ processFooter (exportOptions , tableMetadata , bufferedWriter );
125+ } catch (IOException e ) {
126+ logger .error ("Error processing footer" , e );
127+ }
128+ // Flush buffered writer
129+ try {
130+ bufferedWriter .flush ();
131+ } catch (IOException e ) {
132+ logger .error ("Error flushing writer" , e );
133+ }
124134 }
125135 } catch (ExportOptionsValidationException | IOException | ScalarDbDaoException e ) {
126136 logger .error ("Error during export: {}" , e .getMessage ());
0 commit comments