An error occurred fetching the project authors.
- 27 Nov, 2016 4 commits
-
-
Julien Muchembled authored
The added test describes how the new id timestamps fix the race condition. These timestamps could be any unique opaque values, and the protocol is extended to exchange them along with node ids. Internally, nodes also reuse timestamps as a marker to identify the first NotifyNodeInformation packets from the master: since this packet is a complete list of nodes in the cluster, any other node in the node manager has left the cluster definitely and is removed. The secondary masters didn't receive update about master nodes. It's also useless to send them information about non-master nodes.
-
Julien Muchembled authored
Listing connected/connecting nodes with a UUID is used: - in one place by storage nodes: here, it does not matter if we skip nodes that aren't really identified - in many places by the master, only for server connections, in which case we have equivalence with real identification So in practice, NodeManager is only simplified to reuse the 'identified' property of nodes.
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 27 Jul, 2016 1 commit
-
-
Julien Muchembled authored
Client nodes ignored the state of the connection to the master node when reading data from storage, as long as their partition tables were recent enough. This way, they were able to finish read-only transactions even if they could't reach the master, which could be useful for high availability. The downside is that the master node ignored that their node ids were still used, which causes "uuid" conflicts when reallocating them. Rejected solutions: - An unused NEO Storage should not insist in staying connected to master node. - Reverting to big random node identifiers is a lot of work and it would make debugging annoying (see commit 23fad3af). - Always increasing node ids could have been a simple solution if we accepted that the cluster dies after that all 2^24 possible ids were allocated. Given that reading from storage without being connected to the master can only be useful to finish the current transaction (because we always ping the master at the beginning of every transaction), keeping such feature is not worth the effort. This commit fixes id conflicts in a very simple way, by clearing the partition table upon primary node failure, which forces reconnection to the master before querying any storage node. In such case, we raise a special exception that will cause the transaction to be restarted, so that the user does not get errors for temporary connection failures.
-
- 25 Jan, 2016 1 commit
-
-
Julien Muchembled authored
-
- 15 Sep, 2015 1 commit
-
-
Julien Muchembled authored
admin: do not reset the list of known masters from configuration (or command line) when reconnecting This is questionable but a lot of NodeManager must be reviewed if we want to do differently. At least, admin nodes now behave like clients.
-
- 24 Jun, 2015 1 commit
-
-
Julien Muchembled authored
-
- 21 May, 2015 1 commit
-
-
Julien Muchembled authored
-
- 07 Jan, 2014 1 commit
-
-
Julien Muchembled authored
-
- 24 Jul, 2012 1 commit
-
-
Julien Muchembled authored
-
- 13 Jul, 2012 1 commit
-
-
Julien Muchembled authored
-
- 21 Mar, 2012 1 commit
-
-
Julien Muchembled authored
-
- 20 Mar, 2012 1 commit
-
-
Julien Muchembled authored
-
- 13 Mar, 2012 1 commit
-
-
Julien Muchembled authored
-
- 12 Mar, 2012 1 commit
-
-
Julien Muchembled authored
This includes an API change of Node.isIdentified, which now tells whether identification packets have been exchanged or not. All handlers must be updated to implement '_acceptIdentification' instead of overriding EventHandler.acceptIdentification: this patch only does it for StorageOperationHandler
-
- 01 Mar, 2012 1 commit
-
-
Vincent Pelletier authored
-
- 14 Feb, 2012 1 commit
-
-
Julien Muchembled authored
This is required, for example, for simultaneous reciprocal replication between 2 storages.
-
- 20 Jan, 2012 1 commit
-
-
Julien Muchembled authored
-
- 19 Jan, 2012 2 commits
-
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
- 13 Jan, 2012 3 commits
-
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
- 09 Jan, 2012 1 commit
-
-
Vincent Pelletier authored
-
- 06 Jan, 2012 1 commit
-
-
Vincent Pelletier authored
-
- 02 Jan, 2012 2 commits
-
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
- 26 Oct, 2011 1 commit
-
-
Julien Muchembled authored
-
- 05 Sep, 2011 1 commit
-
-
Julien Muchembled authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2823 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 07 Apr, 2011 1 commit
-
-
Julien Muchembled authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2706 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 17 Jan, 2011 1 commit
-
-
Olivier Cros authored
In order to prepare the eggification of the different neo parts, we created a new neo/lib module, containing all of the main neo's functions. It allows to make neo a virtual namespace, and so not containing module code anymore. git-svn-id: https://svn.erp5.org/repos/neo/trunk@2615 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 29 Oct, 2010 1 commit
-
-
Vincent Pelletier authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2371 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 09 Jun, 2010 1 commit
-
-
Vincent Pelletier authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2147 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 07 Jun, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2136 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 24 May, 2010 1 commit
-
-
Grégory Wisniewski authored
- Unify log methods among classes. - Define log() on event manager git-svn-id: https://svn.erp5.org/repos/neo/trunk@2123 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 15 May, 2010 1 commit
-
-
Grégory Wisniewski authored
This fix an issue where a client was notified down, dropped from node manager then detected as disconnected: the node was not found. git-svn-id: https://svn.erp5.org/repos/neo/trunk@2111 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 07 May, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2094 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 06 May, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2076 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 05 May, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2067 71dcc9de-d417-0410-9af5-da40c76e7ee4
-