Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-15193

Some notifications are lost in configuration listeners.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.0-alpha2
    • 3.0.0-alpha3
    • None

    Description

      Consider following test: ConfigurationListenerTest#dataRace()

      /** */
      @Test
      public void dataRace() throws Exception {
          configuration.change(parent -> parent.changeElements(elements ->
              elements.create("name", e -> {}))
          ).get(1, SECONDS);
      
          List<String> log = new CopyOnWriteArrayList<>();
      
          configuration.elements().get("name").listen(ctx -> {
              assertNull(ctx.newValue());
      
              log.add("deleted");
      
              return completedFuture(null);
          });
      
          configuration.change(parent -> parent.changeElements(elements ->
              elements.delete("name"))
          ).get(1, SECONDS);
      
          assertEquals(List.of("deleted"), log);
      }
      

      It fails due to wrong configuration access in ConfigurationNotificationsUtil.

      Attachments

        Issue Links

          Activity

            People

              ibessonov Ivan Bessonov
              ibessonov Ivan Bessonov
              Semyon Danilov Semyon Danilov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h