Re: Change audit framework

2015-09-23 Thread Hugi Thordarson
This looks really great! Would you mind sharing how the class A2PropertyChange looks? Cheers, - hugi > On 22. sep. 2015, at 19:57, Andrus Adamchik wrote: > > Here is the design of the audit framework for everyone's review: > > https://issues.apache.org/jira/browse/CAY-2030 > > The way it

Re: Change audit framework

2015-09-23 Thread Andrus Adamchik
Just a pair of values: public class A2PropertyChange { private Object oldValue; private Object newValue; ... } and as I've shown earlier, my system would emit a stream of JSON messages like this: {"ts":1427090346831,"by":"someuser","clientIP":"10.1.1.1","serverIP":"127

Re: Change audit framework

2015-09-23 Thread Hugi Thordarson
Ah, of course… How do you handle a change to a to-many relationship in that scheme, do oldValue and newValue contain the entire object lists pre- and post-modification? - hugi > On 23. sep. 2015, at 08:09, Andrus Adamchik wrote: > > Just a pair of values: > > public class A2PropertyChange

Re: Change audit framework

2015-09-23 Thread Andrus Adamchik
I don't have an example handy, but IIRC added object is [null, "id"], and removed is ["id", null]. I.e. we don't dump the entire rel state. Andrus > On Sep 23, 2015, at 11:28 AM, Hugi Thordarson wrote: > > Ah, of course… How do you handle a change to a to-many relationship in that > scheme, d

Re: Change audit framework

2015-09-23 Thread Aristedes Maniatis
On 23/09/2015 6:09pm, Andrus Adamchik wrote: > We'd send them to Apache Kafka, so that other internal apps can process them > sequentially at their leisure. Some random thoughts that this raised in my head... I guess many people are pushing this to: 1. A database in a json field, so that works

Re: Change audit framework

2015-09-23 Thread Andrus Adamchik
> On Sep 23, 2015, at 1:20 PM, Aristedes Maniatis wrote: > > * fail fast and don't stop the main Cayenne processing thread. That is, if > the message broker/other database fails to return quickly, don't prevent the > commit returning control to the application. Possibly even try to attempt the