> It really isn't necessary that the new owner stays the same

For some applications it does not matter.

For other applications (such as openflow)

each owner change means the old owner has to disconnect

from the device and the new owner has to connect.

That can be expensive, and in worst case it can lead to data loss.


> I'm not sure if it's guaranteed the owner won't change after
> re-join


I know this test happened to work when we developed it,

but that behavior might depend on timing details

of an underlying algorithm implementation.


For curiosity, I looked at unit tests.

I have not found anything conclusive,

but I found one comment [0] related to timing.


Vratko.


[0] 
https://github.com/opendaylight/controller/blob/9bce68c4712d00951d121be68b09578bc6e09151/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java#L224-L226

________________________________
From: Jamo Luhrsen <jluhr...@gmail.com>
Sent: Thursday, September 20, 2018 7:45:12 AM
To: Tom Pantelis
Cc: controller-dev; pgup...@cisco.com; Vratko Polák
Subject: Re: owner changed failure



On 09/19/2018 02:36 PM, Tom Pantelis wrote:
>
>
> On Wed, Sep 19, 2018 at 4:46 PM Jamo Luhrsen <jluhr...@gmail.com 
> <mailto:jluhr...@gmail.com>> wrote:
>
>     \
>      > Anyway we'll need to enable debug for 
> org.opendaylight.controller.cluster.datastore.entityownership.  I would
>     suggest to
>      > pull out that test on its own like you've done before (run it 
> standalone in sandbox I guess). Also delete the log
>     files
>      > in between each run. This will make debugging much easier.
>
>     Is there not enough info in the existing logs?
>
>
> No - not with the default INFO logging. In order to dig deeper we need to 
> enable targeted debug, in this
> case org.opendaylight.controller.cluster.datastore.entityownership.

I don't think it worked. Here is what the logger config lines looked
like:

22:38:53  
log4j2.logger.org_opendaylight_org_opendaylight_controller_cluster_datastore_entityownership.name
 =
org.opendaylight.org.opendaylight.controller.cluster.datastore.entityownership
22:38:53  
log4j2.logger.org_opendaylight_org_opendaylight_controller_cluster_datastore_entityownership.level
 = DEBUG

you can see the whole org.ops4j.pax.logging.cfg file here:
https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/controller-csit-3node-clustering-ask-all-oxygen/3/console-timestamp.log.gz

but, I don't see any DEBUG messages showing up in these karaf logs:

https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/controller-csit-3node-clustering-ask-all-oxygen/3/odl_1/odl1_karaf.log.gz
https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/controller-csit-3node-clustering-ask-all-oxygen/3/odl_2/odl2_karaf.log.gz
https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/controller-csit-3node-clustering-ask-all-oxygen/3/odl_3/odl3_karaf.log.gz


>     You can easily trim the
>     karaf logs based on the test cases. We are logging the start of every
>     suite and test case.
>
>
> I think it's  much easier and faster to debug a failing test if it's 
> isolated. Of course the logs are much smaller and
> don't require trimming.  Enabling debug can result in huge logs even just 
> running one test, let alone the whole batch of
> them. Also I assume this test fails sporadically which means it needs to be 
> run over and over. Doing that with the
> entire job will take a long time. But if it's too much of a pain to isolate 
> the test, then OK.

The suite takes aprox 90 from start to finish and it's just a matter of
adding a single string to the parameters when we start the build. This
failure has happened 2 of the 3 jobs we ran. That's easiest for now,
and splitting up the karaf logs after the fact shouldn't be too bad.

Thanks,
JamO
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to