mjpt777 on master
Tidy up warnings and formatting. (compare)
mjpt777 on master
[C++] Better example of ReplayM… (compare)
mjpt777 on master
[C++] Extra debugging info for … (compare)
mjpt777 on master
[C++] Remove the need to split … (compare)
mjpt777 on master
[C++] Tidy up archive tests. (compare)
mjpt777 on master
[C++] Tidy up archive tests. (compare)
mjpt777 on master
[C++] Fix archive tests to run … (compare)
mjpt777 on master
[Java] Improve ArchiveTest in s… (compare)
mjpt777 on master
[Java] Avoid boxing of boolean … (compare)
mjpt777 on master
[Java] Naming. (compare)
mjpt777 on master
[Java] Naming. (compare)
mjpt777 on master
[Java] Update leadership term i… (compare)
mjpt777 on master
[Java] Javadoc. (compare)
accountsd
process can use lots of CPU (I've seen 700%) and when this happens I get problems with multiple projects whose tests are time-based.
@mjpt777 Apologies, a bit difficult to provide the test case but can provide a few more details: Publication is on channel aeron:udp?tags=1,100001|control=hostnameA:40456|control-mode=dynamic. Subscription on host B is specified as aeron:udp?endpoint=hostnameB:49101|control=hostnameA:40456
Replication is started on hostC using same using liveDestination same as subscription defined above and connecting to the source archive on hostA using srcControlChannel=aeron:udp?endpoint=hostnameA:40461.
The replication is started successfully and i can see a replicate recording on hostC.
When i start hostB, the first thing it does is try to replay the recording from hostC and then merge into the live stream from hostA. The replaySubscriberChannel is defined as aeron:udp?endpoint=hostnameB:40491|session-id=tag:100001 and the liveDestination same as subscription above for the ReplayMerge. However when the replaymerge starts it throws “must reference a network publication” when trying to look up the network publication by sessionid tag 100001.
When i moved the replicate from hostC to hostA, i was able to replayMerge perfectly from hostB.
The media driver contains two hard-coded constants regarding network activity:
PENDING_SETUPS_TIMEOUT_NS
(1 s): dictates how often a receiver sends out setup-eliciting Status Messages to the sender, periodic in Multi-Destination-Cast (MDC)PUBLICATION_SETUP_TIMEOUT_NS
(100 ms): dictates how often a sender sends out Setup Frames to receivers, periodic in MDCIs there any background on how these specific numbers were selected or why they cannot be altered (unlike e.g. Receiver Status Message Timeout)?
hi! (please don't treat me as an employer of my company only, this question is more about my own curiosity)
if I've got an archive and I need a connection to it, I can come up with code like this one:
try (MediaDriver md = MediaDriver.launch();
Archive archive = Archive.launch();
AeronArchive aeronArchive =
AeronArchive.connect(new AeronArchive.Context().aeron(archive.context().aeron())))
{
}
but some times it throws this exception
io.aeron.exceptions.TimeoutException: ERROR - Archive connect timeout: correlationId=12 step=4
at io.aeron.archive.client.AeronArchive$AsyncConnect.checkDeadline(AeronArchive.java:3056)
at io.aeron.archive.client.AeronArchive$AsyncConnect.poll(AeronArchive.java:2942)
at io.aeron.archive.client.AeronArchive.connect(AeronArchive.java:214)
looks like that code smells, but I can't see why, could you help me to figure it out?
thanks!
invoke()
method, right?Best not to reuse the Archive's Aeron client if the Archive 'owns' the client instance.
worth adding to the Archive javadoc, what do you think?
Archive
and AeronArchive
I would construct it externally so that you know which threading mode it is using and pass it into both.
and another small imperfection https://github.com/real-logic/aeron/blob/master/aeron-archive/src/main/java/io/aeron/archive/Archive.java#L856
if aeron client is
is what? =)
oh, yes, and the last thing I'd like to mention:
it's confusing when Aeron says
io.aeron.exceptions.DriverTimeoutException: FATAL - no response from MediaDriver within (ns): 10000000000
in a case when the MediaDriver kicks off our Aeron connection. Can we make a difference in such cases?
thanks