These are chat archives for atomix/atomix

5th
Jun 2018
Johno Crawford
@johnou
Jun 05 2018 00:26
atomix/atomix#557 looks pretty good
although I suspect this will fail
.set("protocol", jsonFactory.objectNode()
should be protocolConfig now, no?
oh and I forgot to ask
why did it change from kebab case to camel case?
was that intentional?
my change was required to get the actual test case to pass but maybe there was a regression in the json parser config
Jordan Halterman
@kuujo
Jun 05 2018 01:04
It’s just for consistency with configuration files, although the configuration files actually support either
Easy to do the same in the API
Jordan Halterman
@kuujo
Jun 05 2018 03:34
fixed
Johno Crawford
@johnou
Jun 05 2018 07:47
@kuujo atomix/atomix.github.io#17
Jordan Halterman
@kuujo
Jun 05 2018 08:30
Well, I got through some of the primitives. Maybe half
Johno Crawford
@johnou
Jun 05 2018 09:02
how many primitives are in ONOS?
custom ones
Jordan Halterman
@kuujo
Jun 05 2018 16:55
AtomicCounter
LeaderElection
LeaderElector
AtomicIdGenerator
DistributedLock
AtomicCounterMap
ConsistentMap
ConsistentTreeMap
ConsistentMultimap
WorkQueue
DistributedSemaphore
DistributedSet
DocumentTree
AtomicValue
Plus transactional primitives
TransactionalMap and TransactionalSet
Transactions need a bit of work but low priority
Johno Crawford
@johnou
Jun 05 2018 16:58
think you said there was a problem with 2pc?
atomix/atomix#360
Jordan Halterman
@kuujo
Jun 05 2018 16:59
Coordinator failure can prevent locks from being released... need to replicate some transaction metadata to allow other nodes to take over and commit/rollback a transaction
Jordan Halterman
@kuujo
Jun 05 2018 22:39
Basically, just need to replicate the set of primitives involved in a transaction via the TransactionService, then detect failed transactions via the TransactionService and use a DistributedLock or something to commit/rollback a transaction. This is probably pretty straightforward to do now that Atomix actually does track primitive metadata.