You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2024/08/19 16:28:00 UTC

[jira] [Work logged] (ARTEMIS-4305) Zero persistence does not work in kubernetes

     [ https://issues.apache.org/jira/browse/ARTEMIS-4305?focusedWorklogId=930844&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-930844 ]

ASF GitHub Bot logged work on ARTEMIS-4305:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 19/Aug/24 16:27
            Start Date: 19/Aug/24 16:27
    Worklog Time Spent: 10m 
      Work Description: jbertram commented on PR #4899:
URL: https://github.com/apache/activemq-artemis/pull/4899#issuecomment-2296970987

   I pulled down your PR branch and executed `org.apache.activemq.artemis.tests.integration.cluster.distribution.ZeroPersistenceSymmetricalClusterTest#test`. I got this which doesn't seem right:
   ```
   java.lang.NullPointerException: Cannot invoke "java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)" because "this.s" is null
   
   	at org.apache.activemq.artemis.tests.integration.cluster.distribution.ZeroPersistenceSymmetricalClusterTest.expectTopology(ZeroPersistenceSymmetricalClusterTest.java:158)
   	at org.apache.activemq.artemis.tests.integration.cluster.distribution.ZeroPersistenceSymmetricalClusterTest.test(ZeroPersistenceSymmetricalClusterTest.java:90)
   	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
   	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
   	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
   	Suppressed: org.opentest4j.AssertionFailedError: test has left a server socket open on port 61616
   		at org.apache.activemq.artemis.tests.extensions.PortCheckExtension.afterEach(PortCheckExtension.java:53)
   		... 2 more
   ```
   Also, I put together a proof-of-concept fix on https://github.com/jbertram/activemq-artemis/tree/ARTEMIS-4305-alt which seems like would address the problem you're seeing but is much simpler than the fix in this PR. Can you test this fix?




Issue Time Tracking
-------------------

    Worklog Id:     (was: 930844)
    Time Spent: 1h 40m  (was: 1.5h)

> Zero persistence does not work in kubernetes
> --------------------------------------------
>
>                 Key: ARTEMIS-4305
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4305
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Ivan Iliev
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> In a cluster deployed in kubernetes, when a node is destroyed it terminates the process and shuts down the network before the process has a chance to close connections. Then a new node might be brought up, reusing the old node’s ip. If this happens before the connection ttl, from artemis’ point of view, it looks like as if the connection came back. Yet it is actually not the same, the peer has a new node id, etc. This messes things up with the cluster, the old message flow record is invalid.
> One way to fix it could be if the {{Ping}} messages which are typically used to detect dead connections could use some sort of connection id to match that the other side is really the one which it is supposed to be.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@activemq.apache.org
For additional commands, e-mail: issues-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact