2015-05-21 17:40 GMT+02:00 singh.janmejay <[email protected]>:
> Are $/ variable manipulations supposed to be atomic?

It depends on what you mean with "atomic". The value returned should
be consistent, that for sure. But if you use

$/var = $/var + 1

and $/var is 16 when this starts, the result can very well be 18 if
another thread executed the exact same sequence. I think for this use
there was an atomic increment function planned. I guess I never
implemented it, though.

>
> Eg. $/var % 16 should never produce any number greater than 15, but it does.

as David said, that's a bug.

>
> Are they non-atomic by design? If so, is mmsequence the right thing to
> use (assuming it has atomic counters, I haven't checked if it really
> does)?

mmsequence is deprecated.

>
> There are few options on the table, I guess.

before I take a shot at these, let's see if we had the same
understanding of "atomic".

Rainer
> 1. If $/ variables are supposed to be atomic, we just fix the impl.
> 2. We use mmsequence, and keep it alive (assuming it has atomic counters)
> 3. We fix mmsequence to implement atomic counters.
> 4. If $/ is not supposed to be atomic (by design), we implement $@
> which is thread-local, so people can get atomic counters within thread
> (evenness in data(for load-balancing or sampling kind of usecase) is
> maintained by the fact that a single thread will pump a lot of
> messages, so across all threads it'll approximately be as even as it
> is in a single-thread.
> 5. We implement a random-number construct (which i believe either
> mmsequence or mmcount had) which allows acceptable load-balancing or
> sampling etc.
>
> Thoughts?
>
> On Wed, Dec 3, 2014 at 11:12 PM, David Lang <[email protected]> wrote:
>> On Wed, 3 Dec 2014, Brian Knox wrote:
>>
>>> So two questions then:
>>>
>>> 1.  In the case of using mmjsonparse on messages where we do not know
>>> ahead
>>> of time what all the. json attributes will be, is there a var for a place
>>> in the tree where we can get all attributes that were in the cee message?
>>
>>
>> There are three 'classes' of variables
>>
>> $! are 'normal' variables, the place that mmjsonparse, etc put the results
>> of parsing the cee message by default.
>>
>> $. are 'local' variables, they are a place you can put stuff that you don't
>> want to end up in a message when you output $!
>>
>> $\ are 'global' variables, unlike the others, they persist from message to
>> message.
>>
>> All of these variables are a tree, where you can have $!foo!bar and
>> $!foo!baz. If you just reference $!foo it will output both bar and baz as
>> JSON
>>
>> so to see everything, parse the message and then output $!
>>
>>> 2. If mmsequence is being deprecated, is there a pointer to how to
>>> increment global variables to provide a sequence?
>>
>>
>> set $\var = $\var + 1;
>>
>>> 3. This morning I remembered the "mmcount" module - is this also being
>>> deprecated in favor of global variables?
>>
>>
>> probably.
>>
>> David Lang
>>
>>
>>> Brian
>>>
>>> On Wed, Dec 3, 2014 at 3:52 AM, Rainer Gerhards <[email protected]>
>>> wrote:
>>>
>>>> 2014-12-02 21:59 GMT+01:00 Brian Knox <[email protected]>:
>>>>
>>>>> We have a case where we are receiving messages in @cee: format, and
>>>>> would
>>>>> like to add a sequence variable generated via mmsequence to the message.
>>>>>
>>>>> Before I spend too much time digging into this I wanted to ask if, using
>>>>> some template hackery and json subtrees, this is something that sounds
>>>>> possible - and if maybe someone else was already doing it.
>>>>>
>>>>>
>>>> David has answered the real question, just let me add that mmsequence was
>>>> a
>>>> work-around for v7 where global variables were not available. It is now
>>>> deprecated and will probably removed in a couple of month.
>>>>
>>>> I'll check the doc if it tells this clearly enough.
>>>>
>>>> Rainer
>>>>
>>>>> Thanks!
>>>>> Brian
>>>>> _______________________________________________
>>>>> rsyslog mailing list
>>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>>>>> http://www.rsyslog.com/professional-services/
>>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>>>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>>>>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>>>>> DON'T LIKE THAT.
>>>>>
>>>> _______________________________________________
>>>> rsyslog mailing list
>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>>>> http://www.rsyslog.com/professional-services/
>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>>>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>>>> DON'T LIKE THAT.
>>>>
>>> _______________________________________________
>>> rsyslog mailing list
>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>>> http://www.rsyslog.com/professional-services/
>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T
>>> LIKE THAT.
>>>
>> _______________________________________________
>> rsyslog mailing list
>> http://lists.adiscon.net/mailman/listinfo/rsyslog
>> http://www.rsyslog.com/professional-services/
>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of
>> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T
>> LIKE THAT.
>
>
>
> --
> Regards,
> Janmejay
> http://codehunk.wordpress.com
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com/professional-services/
> What's up with rsyslog? Follow https://twitter.com/rgerhards
> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T 
> LIKE THAT.
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to