vyazelenko on master
[Java] Add timer to the collect… (compare)
vyazelenko on master
[Java] Extend a test with multi… (compare)
vyazelenko on master
[Java] Add a new test that ensu… (compare)
mjpt777 on master
[Java] Don't filter service ses… (compare)
mikeb01 on master
[Java] Use more efficient lastI… (compare)
mikeb01 on master
[Java] Add utility method to Ch… (compare)
tmontgomery on master
[Java]: Update name resolver ca… (compare)
mjpt777 on master
[Java] Adjust adapters for comm… (compare)
vyazelenko on master
[Java] Extend test to ensure th… (compare)
vyazelenko on master
[Java] Do not enqueue old servi… (compare)
vyazelenko on master
[Java] Fix unused import. (compare)
vyazelenko on master
[Java] Add a test that verifies… (compare)
mjpt777 on master
[Java] Clock tick should be 1ms… [Java] More javadoc for Cluster… (compare)
taggedReplicate
work with C Media Driver?I am trying to identify source stream Id from image unavailable && unavailable events.
Say we have 3 services running in 3 separate JVM && all of communicates via IPC channel.
Service one subscribes on streamId - 101
Service two subscribes on streamId - 102
Service three subscribes on streamId - 103
Service two creates publication for stream 101 && publish few messages
Service three creates publication for stream 101 && publish few messages
Service one receives two image available events with two different session Id. Is there any way to determine whether service two or service three has become available ?
Now service two is stopped && service one receives image unavailable , Is there any way to determine whether service two or service three has become un
available ?
Seems that cluster egress messages are lost when FOLLOWER business logic is faster than LEADER.
By slowing down LEADER in BasicAuctionClusteredService.onSessionMessage() with
if (role == Cluster.Role.LEADER) {
Thread.sleep(1000);
}
we get LEADER business logic to lag behind FOLLOWER. When LEADER goes down egress messages which were produced by FOLLOWER but not yet by LEADER are lost.
Maybe I'm talking nonsense but when CLIENT switches to new LEADER shouldn't it remember his egress position and ask for retransmission when gap is detected.
MaxMulticastFlowControlSupplier
decide what the "fastest" consumer is? Lets say I have 5 consumers and consumer 1 is the "fastest" but starts falling behind and then #2 is further along. Will that be reflected in the flow control or is it possible for a consumer which was the fastest to hang for some reason and then slow down the other 4? if that makes sense
Hi guys! Not sure if this is the right place to post, let me know if not. I'm working on a Julia version of an Aeron client using the C++ client as a model and had a question about the position limit mechanism.
In the offer
methods in https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/cpp/Publication.h position is checked against a limit (eg: https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/cpp/Publication.h#L358) and if smaller publishing can continue. Shouldn't that check take into account how much data there is to be published? If, for example, the position limit is higher by one than the current position and we want to publish 100 bytes, then we will be allowed to publish, go over the limit and in extreme cases we might overwrite data which subscribers haven't read.
Thanks for the response, Michael!
What is the link between position limit here https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/cpp/Publication.h#L344 and term length here https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/cpp/concurrent/logbuffer/TermAppender.h#L158? I was under the impression that position limit can be different and could limit publication within the same term.
I will have a look at the C API as well. Does the shared memory driver API change often?