Comments (10)
Consul uses RAFT - but with direct use of RAFT, the patch coordination could be done as a RAFT state machine.
from rdf-delta.
There are two ways of using ZooKeeper with RDF Delta. One way is to run embedded ZooKeeper, the other is a separate ZooKeeper layer.
What looks interesting for version 2 is to switch to use RAFT, specifically Apache Ratis. This is a library and so will be like using embedded Zookeeper at the moment, removing the additional admin of a separate ZooKeeper cluster. It should also be possible to clean up the abstract making alternative plugins easier.
Consul can not be co-resident with the patch server. Surely you still have to identify the servers in the SWIM pool for the Consul/Serf gossip protocol to operate?
from rdf-delta.
Consul actually uses RAFT for consensus, so using it directly would eliminate the need for anything else. I approve of this direction.
It's not as important to me that ZooKeeper/Consul runs in the same process as RDF Delta as it is that ZooKeeper/Consul does not require an additional piece to get it to work in the first place. Consul does need to be pointed at the cluster, but it doesn't require complete knowledge of the entire cluster in each member. Basically, I can stand the first one up and point the second and third at the first without needing to provide connection info about every node. With ZooKeeper, I need them all to exist before I can generate a correct configuration file, but it's impossible to update the configuration after the instances have already been stood up without introducing an additional service of some kind or doing it by hand, thereby defeating the automation effort.
from rdf-delta.
I'm seeing now that ZooKeeper has a dynamic registration mode since version 3.5. I'm struggling to find where the embedded ZooKeeper is run in here, but I think we can just tweak it to register itself with a cluster to ease my problem in the near term. If you can help me find that bit of code, I'll see what I can do.
from rdf-delta.
ZooServer zs = ZkS.runZookeeperServer(...)
from rdf-delta.
I was able to get the embedded ZooKeeper server to dynamically join an ensemble with only the zoo.cfg
and some ZooKeeper CLI commands. It will require a small change in the way the connection is established with Curator which I have documented here. I should have a pull request submitted for this change later today for your review. Thank you for your help, @afs.
from rdf-delta.
Ensemble tracking defaults to enabled for current ZooKeeper.
from rdf-delta.
https://issues.apache.org/jira/browse/ZOOKEEPER-3814 which is fixed with apache/zookeeper#1356 in ZooKeeper 3.7.0 is unrelated to this issue. The problem is not getting the members of the ZooKeeper Ensemble to dynamically update their config. That always worked. The problem is getting RDF Delta, a CLIENT of the ZooKeeper Ensemble, to dynamically update its config from /zookeeper/config
. If you'd only actually test RDF Delta against a dynamically changing ZooKeeper Ensemble, it would be immediately obvious why I opened this ticket originally.
from rdf-delta.
CuratorFrameworkFactory.builder.ensembleTracker
.
from rdf-delta.
You closed this citing an unrelated update to ZooKeeper, but now you're saying Curator does it. You haven't updated either of those dependencies, and I've reported to you that this, in fact, does not work. Reading the javadoc and making comments in the source code is no substitute for actually testing it, but you seem to be too stubborn to just do that. Oh, well. You can lead a horse to water, but you can't make him drink.
from rdf-delta.
Related Issues (20)
- patches applied before fuseki server is started HOT 6
- [bug] version becomes unset when patch not found HOT 7
- rdf* additions are being added to patch files as aborts HOT 1
- Integration tests fail on Windows HOT 10
- Patch server started with file not issues error on M1 Mac HOT 1
- Patch conflict HOT 20
- Patchlog server starts re-syncing HOT 13
- Fuseki unresponsive to requests if performing with a very large sync HOT 2
- Enable $ endpoints HOT 1
- Log output after Fuseki has completed a sync
- queries are A LOT slower after losing and re-establishing a connection to zookeeper HOT 20
- Inconsistent reads from a HA Fuseki ensemble HOT 1
- DeltaLinkHTTP.retry() without retry mechanism? HOT 2
- Migrate RDF Patch module to Apache Jena
- Fuseki setup instructions
- Get Diff HOT 3
- Provide more synchronization options
- Add support to specify zookeeper root dir name HOT 1
- rdf-delta-fuseki tests are broken and not running in the normal build HOT 1
- Error: Unknown argument: s3Bucket HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rdf-delta.