0
votes

I have a very simple spring component:

@Component
public abstract class IgniteComponent {

    protected final Ignite ignite;

    /**
     * Start the ignite
     */
    public IgniteComponent() {
        this.ignite = Ignition.getOrStart(new IgniteConfiguration());
    }

    /**
     * Get the ignite
     *
     * @return The ignite
     */
    public Ignite getIgnite() {
        return this.ignite;
    }
}

When I use this component in unit tests locally everything works fine. But when I want to run my unit tests on a bamboo agent I always get the follwoing:

24-Jul-2018 13:36:38        2018-07-24 11:36:38.888  WARN 7259 --- [    Test worker] .i.p.c.GridCachePartitionExchangeManager : Failed to wait for initial partition map exchange. Possible reasons are: 
24-Jul-2018 13:36:38          ^-- Transactions in deadlock.
24-Jul-2018 13:36:38          ^-- Long running transactions (ignore if this is the case).
24-Jul-2018 13:36:38          ^-- Unreleased explicit locks.

And I cant find any reason for this. The ignite version im working with is:

dependencySet (group: 'org.apache.ignite', version: '2.2.0') {
    entry 'ignite-core'
    entry 'ignite-spring'
}

What is usually the cause of this issue?

1
Take a look at this answer: stackoverflow.com/questions/51429762/…Denis
I only have one ignite node. The bamboo agent is starting a container and running the tests in side the container. The container is getting destroyed after that. We are very sure that we only have one ignite node and so a partition is not possible.Mulgard
Can you provide full log and thread dumps from that node? "Failed to wait for PME" on a single node is pretty strange.Denis
To be sure, that no other nodes get in the way, configure a static IP finder: apacheignite.readme.io/docs/… Multicast IP finder may discover other nodes in the network by accident.Denis

1 Answers

1
votes

Multicast IP finder is used by default. If you run your Ignite on shared agent it will try and join any nodes that are present there with unexpected results. Try to disable multicast (by using VM finder for example) or provide the whole log of your instance.