Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 18 16:56

    tmontgomery on master

    [C]: align C driver cubic imple… (compare)

  • Apr 18 11:07

    mjpt777 on master

    [Java] Remove redundant isClose… (compare)

  • Apr 18 11:01

    mjpt777 on master

    [Java] Guard publish of new lea… (compare)

  • Apr 17 23:17

    mikeb01 on master

    [Java] Only respond to canvassP… (compare)

  • Apr 17 22:00

    mikeb01 on master

    [Java] Throw an exception if th… (compare)

  • Apr 17 14:49

    mjpt777 on master

    [Java] Add toString method to C… (compare)

  • Apr 17 14:27

    mjpt777 on master

    [Java] Re-wrap logbuffers after… (compare)

  • Apr 17 14:05

    mjpt777 on master

    [Java] Checkstyle. (compare)

  • Apr 17 13:52

    mjpt777 on master

    [Java] Test tidy up. (compare)

  • Apr 17 11:24

    mjpt777 on master

    [Java] Tidy up after merge of P… (compare)

  • Apr 17 11:00

    mjpt777 on master

    [Java] Dynamic logging (#1167) … (compare)

  • Apr 17 11:00
    mjpt777 closed #1167
  • Apr 16 19:31
    vyazelenko synchronize #1167
  • Apr 16 17:07
    vyazelenko opened #1167
  • Apr 16 16:24

    mjpt777 on master

    [Java] Upgrade to SBE 1.22.0. (compare)

  • Apr 16 15:26

    mjpt777 on master

    [Java] Extract client session t… (compare)

  • Apr 16 14:07

    mjpt777 on master

    [Java] Warnings cleanup. (compare)

  • Apr 16 13:33

    mjpt777 on master

    [Java] Style. (compare)

  • Apr 16 13:24

    mjpt777 on master

    Cluster config (#1166) * [Java… (compare)

  • Apr 16 13:24
    mjpt777 closed #1166
Ivan Zemlyanskiy
@QIvan
hi! a quick question if you don't mind:
should in theory the taggedReplicate work with C Media Driver?
I'm getting a timeout exception on my even basic tests, while with Java MD everything is just fine.
thanks.
Martin Thompson
@mjpt777
This room is not being used to answer Aeron questions. Questions can go to our support channels or Stackoverflow which we may eventually get round to.
This room is being reserved for discussions with public contributors.
Martin Thompson
@mjpt777
We are considering shutting down this room. For now we will keep it open but will no longer be giving out free support.
Ivan Zemlyanskiy
@QIvan
oh, cool! glad to read it! It would be awesome if Aeron tag would become more popular on SO
Martin Thompson
@mjpt777
@QIvan Please stop posting here if it is not related to contributions.
Ivan Zemlyanskiy
@QIvan
ok, sorry. Speaking about contributions, a little feedback about reading with Aeron:
why do we need this errorHandler in TermReader https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/java/io/aeron/logbuffer/TermReader.java#L82 ?
I found it very inconveniet, because when I read with my own FH and I throw an exception, I want to use my own try-catch block around a poll, not the global errorHandler which I provided for Aeron and excpect handle aeron related exceptions.
Martin Thompson
@mjpt777
@QIvan This is really a question and not a contribution. I'll allow grace just this once. Look at the following: https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/java/io/aeron/Aeron.java#L1124
William
@ilove7412369_twitter
Aeron archive replay seems quite slow when remote replicate from say Tokyo to SG. Is it not a right use of that? Any way should be better way to do for a higher throughput?
Martin Thompson
@mjpt777
@ilove7412369_twitter As previous stated we will not be offering free consultancy in the room any longer. This room is reserved for public contributor discussions. If you need support we have a commercial offering.
rinkigoyal
@rinkigoyal

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 ?

Martin Thompson
@mjpt777
@rinkigoyal We do not offer free support in this room. It is for contributor discussions.
Ghost
@ghost~5fab2f45d73408ce4ff3c0e0
Is there a way for getting the sequence number of a message with Aeron? So if throughout the day I send 1 million messages can I know that I am dealing with say message #42 versus message #2010?
Martin Thompson
@mjpt777
@pieceofchum I'm getting bored of saying we are not offering support in this room. This is for contributor conversations.
Ghost
@ghost~5fab2f45d73408ce4ff3c0e0
Ok sorry I see that in my emails now no worries.
eliquinox
@eliquinox
Todd L. Montgomery
@tmontgomery
sweet!
hisitepu
@hisitepu
some type in aeron_stat.c, getopt processing -p but in case capturing 'd'. Thanks
i mean typo, not type
Martin Thompson
@mjpt777
@hisitepu If you are pointing out an issue then please raise one with a detailed example or test to illustrate.
bartlaw
@bartlaw

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.

Martin Thompson
@mjpt777
@bartlaw This channel is for contributor conversations. We can provide commercial support to where needed.
Jeffrey Mazar
@jmazar
how does the 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
Michael Barker
@mikeb01
Hi @jmazar we've changed the role of this room to be specific to public contributor discussions. For support-like queries the best place is: https://stackoverflow.com/questions/tagged/aeron
dantaras
@dantaras

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.

Michael Barker
@mikeb01
@dantaras This is handled within the TermAppender (TermAppender.h:164). If you are writing a client for another language, I would recommend looking at the C++ wrapper over the C API. There is quite a lot of complexity in the API and writers of clients for different languages have found it difficult to keep up with feature changes. Hence we've created the C API implementation to enable the development of APIs in other languages more quickly.
dantaras
@dantaras

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?

Michael Barker
@mikeb01
@dantaras data won't be overwritten as it will only allow that message if it fits within a term and there is another cleaned term between the one being published to and the one being read from. If message is larger than the remaining space in the term then the term will be padded, the offer rejected with ADMIN_ACTION and the position will then be higher (or equal) to the limit and offer will be blocked with back pressure.
dantaras
@dantaras
I get it now, thanks @mikeb01 !
Valto Vipul
@ValtoVipul_twitter
hi guys, is there a way to fall back to the previous mode of segment file naming convention? 10-0,10-1,10-2, etc?
I have some scripts which used that so would like to see if possible to use the old behaviour
oops it seems no more help in this room
michaelredman
@michaelredman
Hi, I am trying to persist the egress with aeron cluster, the clustered driver already has an archive and various channels setup, is it a bad idea to use ClusteredMediaDriver.archive().startRecording(my_log) and try connect to it over udp? will the cluster client get confused?
Martin Thompson
@mjpt777
@michaelredman This channel is for contributor discussions only. If you require support we have commercial offerings.
William
@ilove7412369_twitter
I believe i encounter an Aeron Bug.
i publish multidestintaion cast from Host A to HostA and HostB, big message as big as 300k bytes. at rate say 10 times per second.
After 1-2 hours, one of the host , say host B, will get corrupted message. We detect that as it is SBE message with wrong data. While the same message properly processed correctly and successfully.
And then, we will not able to receive any message in host B.
I think bottom line we got exception instead of corrupt message as that make me worry the integrity of the data via aeron.
Martin Thompson
@mjpt777
@ilove7412369_twitter This channel is not for support. If you can create a test that reproduces what you are seeing then raise an issue.
@ilove7412369_twitter When we have investigated issues of data corruption in the past it has almost always been a bug in the application. It is possible it is a bug in Aeron but without a reproducible test we cannot investigate without a support contract.
gorive
@gorive
Just stumbled across Aeron- got a question
1) where does the actual udp transport happen - where it sends the messages to all clients ? Is that in the media driver ?
2) lets say i use it as a fast message broker on the internet and only as unicast - how many clients ( clients connecting to the udp port on the server ) from the outside can Aeron handle without degrading in speed ? Are there any benchmarks on the pure transport level if we want to burst out alot of packets to be distributed to many clients ?
Michael Barker
@mikeb01
1) Yes. 2) This is complicated question and there are numerous tuning options and approaches that can affect this. We can offer consulting in this area: https://real-logic.co.uk/contact.html.
particulitis_julien
@particulitis_twitter
Quick question, I'm a bit confused. The cookbook mentions using ReservedValueSupplier as a checksum. So I'm assuming that Aeron doesn't do a checksum on the receiver messages ? I don't see any official mentions of that except in the wiki
Martin Thompson
@mjpt777
@particulitis_twitter UDP provides its own checksum. The reserved value is for additional data carriage which the application can apply. In future please ask questions on Stackoverflow, this group is for contributor discussions.
particulitis_julien
@particulitis_twitter
Ok, sorry about that, and thanks for the quick reply Martin :)
eduneeraj2019
@eduneeraj2019
morning
eduneeraj2019
@eduneeraj2019
Can aeron connect between multiple switch and multiple subnet? Its works fine on same switch
Martin Thompson
@mjpt777
@eduneeraj2019 This channel is not for support questions.
eduneeraj2019
@eduneeraj2019
Tks @mjpt777 where shud i ask support qn ?
Martin Thompson
@mjpt777
You can approach us for a commercial support contract or try Stackoverflow.