You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Bessonov (Jira)" <ji...@apache.org> on 2021/07/26 10:51:00 UTC

[jira] [Created] (IGNITE-15193) Some notifications are lost in configuration listeners.

Ivan Bessonov created IGNITE-15193:
--------------------------------------

             Summary: Some notifications are lost in configuration listeners.
                 Key: IGNITE-15193
                 URL: https://issues.apache.org/jira/browse/IGNITE-15193
             Project: Ignite
          Issue Type: Bug
            Reporter: Ivan Bessonov
            Assignee: Ivan Bessonov
             Fix For: 3.0.0-alpha3


Consider following test: ConfigurationListenerTest#dataRace()
{code:java}
/** */
@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);
}
{code}
It fails due to wrong configuration access in ConfigurationNotificationsUtil.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)