This time we made a release quickly, after having fixed some long-standing deadlocks, and issues.
Docker tag: dgraph/dgraph:latest, dgraph/dgraph:v1.0.8
Here’s the changelog:
- Correctly handle a list of type geo in json (#2482 , #2485).
- Fix the graceful shutdown of Dgraph server, so a single Ctrl+C would now suffice to stop it.
- Fix various deadlocks in Dgraph and set ConfState in Raft correctly (#2548, Set ConfState during Zero restart as well. · dgraph-io/dgraph@4b26b6b · GitHub).
- Significantly decrease the number of transaction aborts by using SPO as key for entity to entity connections. (#2556 ).
- Do not print error while sending Raft message by default. No action needs to be taken by the user, so it is set to V(3) level.
- Introduce a new /assignIds HTTP endpoint in Zero, so users can allocate UIDs to nodes externally.
- Add a new tool which retrieves and increments a counter by 1 transactionally. This can be used to test the sanity of Dgraph cluster.
@mrjn do I need to export, update, import the data or can I just shutdown everything, update the binaries and restart?
Always export before anything. But I believe that just need update the binaries.
Everything looks cool.
Except, How dgraph-ratel binary on my production server got updated automatically? especially, when it’s a closed source!!
It doesn’t make me happy and I have started absconding dgraph for my major project already.
Dgraph doesn’t need Ratel at all, if you wanna use Ratel and you can’t for some reason. Just downgrade the version of the image for Ratel only. If you are using Docker. If you are using Binaries, you can use any Ratel binary. It’s not related with Dgraph.
Most likely it’s the JS code which got updated from the CDN. The binary wouldn’t get updated automatically, unless you are talking about an upgrade.
Will you refer me to the documentation for /assignIds endpoint?
Thank you. I was initially thinking this will allow setting external IDs for nodes in the graph. Though, it seems to be something different.
It is to allow IDs to be used in a live data loader where there are relationships across transactions (i.e., _:xyz)
Thanks for your reply. As far as I have understood, there is no way to specify UIDs for nodes in the graph externally. These IDs are chosen by the dgraph server/zero while mutation. Are you suggesting that /assignIDs endpoint can be used to assign UID values to nodes in the graph? Please help me understand, appreciate it.
Hey Aman. This new function is only to prompt the Dgraph for allocation of UIDs. It is no good to designate a specific UID. It can be useful in solving very specific issues, which may not be your case.
It can be more used to speed up a process in your application. Instead of you use _: Blank_nodes. And avoid problems with inserting gigantic batches. But most people will never use it.