@@ -541,7 +541,7 @@ func (o *Observer) rotateMessages(ctx context.Context) error {
541541 if err := os .Remove (filepath .Join (o .rotatePath , entry .Name ())); err != nil {
542542 logger .Errorw ("Failed to remove retention policy for file" , "file" , entry .Name (), "err" , err )
543543 } else {
544- logger .Infow ("Removed old file" , "olderThan" , o .retention , "file" , entry .Name ())
544+ logger .Infow ("Removed file due to time retention policy " , "olderThan" , o .retention , "file" , entry .Name ())
545545 }
546546 } else {
547547 retainedSize += info .Size ()
@@ -552,22 +552,25 @@ func (o *Observer) rotateMessages(ctx context.Context) error {
552552
553553 logger .Infow ("Retention size" , "retainedSize" , retainedSize , "maxRetentionSize" , o .maxRetentionSize )
554554
555- if retainedSize > o .maxRetentionSize {
555+ if o . maxRetentionSize > 0 && retainedSize > o .maxRetentionSize {
556556 logger .Infow ("Retention size exceeded, deleting oldest files" , "retainedSize" , retainedSize , "maxRetentionSize" , o .maxRetentionSize )
557557 // sort retained by modification time, oldest last
558558 sort .Slice (retained , func (i , j int ) bool {
559559 return retained [i ].ModTime ().After (retained [j ].ModTime ())
560560 })
561561 // iterate in reverse order to delete oldest first
562562 for i := len (retained ) - 1 ; i >= 0 ; i -- {
563+ fi := retained [i ]
563564 if retainedSize < o .maxRetentionSize {
564565 break
565566 }
566- if err := os .Remove (filepath .Join (o .rotatePath , retained [i ].Name ())); err != nil {
567- logger .Errorw ("Failed to remove retention policy for file" , "file" , retained [i ].Name (), "err" , err )
567+ if err := os .Remove (filepath .Join (o .rotatePath , fi .Name ())); err != nil {
568+ logger .Errorw ("Failed to remove retention policy for file" ,
569+ "file" , fi .Name (), "err" , err )
568570 } else {
569- logger .Infow ("Removed old file" , "olderThan" , o .retention , "file" , retained [i ].Name ())
570- retainedSize -= retained [i ].Size ()
571+ logger .Infow ("Removed file due to size retention policy" ,
572+ "size" , fi .Size (), "file" , fi .Name ())
573+ retainedSize -= fi .Size ()
571574 retained = retained [:i ]
572575 }
573576 }
0 commit comments