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)
Aeron.connect()
) and add a subscription for an endpoint let's say 10.1.1.1:1234
, I work with it for some time, then I close the subscription, close the aeron instance and repeat everything once again. A question: what should I do, and should I, before I start everything over?Hi everybody! Apologies for the newbie question. I am trying to run some of the samples in AWS, between separate EC2 instances, same subnet.
Ping/Pong works perfectly, but I cannot make BasicPublisher/BasicSubscriber talk each other, even via simple unicast UDP.
Publisher (10.0.101.101
):
java -cp ./aeron-all-1.32.0-SNAPSHOT.jar \
-Daeron.sample.embeddedMediaDriver=true \
-Daeron.sample.channel="aeron:udp?endpoint=10.0.101.101:9000" \
io.aeron.samples.BasicPublisher
Subscriber (10.0.101.201
):
java -cp ./aeron-all-1.32.0-SNAPSHOT.jar \
-Daeron.sample.embeddedMediaDriver=true \
-Daeron.sample.channel="aeron:udp?endpoint=10.0.101.101:9000" \
io.aeron.samples.BasicSubscriber
The subscriber always fails to connect:
io.aeron.exceptions.ChannelEndpointException: ERROR - AeronException : ERROR - channel error - Cannot assign requested address (at java.base/sun.nio.ch.Net.bind0(Native Method)): aeron:udp?endpoint=10.0.101.101:9000
Security Groups, NACL and routing seems to be ok. The two instances can ping each other and can send UDP on port 9000 with netcat. I also tried specifying the interface explicitly and nothing changes (instances have a single network interface, anyhow).
I am sure I am missing something stupid.
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