Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-19562

aws sqs visibility extender is running forever

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 3.20.5
    • 3.20.7, 3.21.1, 4.0.0
    • camel-aws2
    • None
    • Camel - 3.20.5

    • Unknown

    Description

      aws sqs visibility extender in some corner case is running forever. Below warning is thrown forever until I had to restart the server.  I see it happen once in a week. This bug is causing the scheduler to be run forever consuming resources.

      2023-06-23T03:16:03.222Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:17:03.209Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:18:03.182Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:19:03.209Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:20:03.180Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:21:03.180Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:22:03.233Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:23:03.204Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:24:03.182Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.
      2023-06-23T03:26:03.207Z Camel (61) thread #43 - SqsTimeoutExtender #033[36mo.a.c.c.a.s.Sqs2Consumer#033[m #033[33mWARN #033[m - Extending visibility window failed for exchange Exchange[C6602184B0E4B49-000000000003F2CB]. Will not attempt to extend visibility further. This exception will be ignored.

       

      I tried reproducing, but couldn't reproduce.

      org.apache.camel.component.aws2.sqs.Sqs2Consumer

      This could happen when scheduler couldn't be cancelled with scheduledFuture.cancel(false) and the scheduler runs forever.

      final ScheduledFuture<?> scheduledFuture = this.scheduledExecutor.scheduleAtFixedRate(new TimeoutExtender(exchange, repeatSeconds), (long)delay, (long)period, TimeUnit.SECONDS);
      ((ExtendedExchange)exchange.adapt(ExtendedExchange.class)).addOnCompletion(new Synchronization()

      Unknown macro: { public void onComplete(Exchange exchange) Unknown macro}

      public void onFailure(Exchange exchange)

      private void cancelExtender(Exchange exchange) {
      Sqs2Consumer.LOG.trace("Processing done so cancelling TimeoutExtender task for exchangeId: {}", exchange.getExchangeId());
      scheduledFuture.cancel(false);
      }
      });

       

      Attachments

        1. errorlist.txt
          3 kB
          Narsi Reddy Nallamilli
        2. errordetail.txt
          7 kB
          Narsi Reddy Nallamilli

        Issue Links

          Activity

            People

              davsclaus Claus Ibsen
              narsi-nallamilli Narsi Reddy Nallamilli
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: