- 11 Mar, 2019 1 commit
-
-
Julien Muchembled authored
-
- 27 Apr, 2017 1 commit
-
-
Julien Muchembled authored
- atomic write to disk to avoid corruption - update when the address changes (not only when a node is removed/added)
-
- 25 Apr, 2017 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 24 Apr, 2017 1 commit
-
-
Julien Muchembled authored
In order to do that correctly, this commit contains several other changes: When connecting to a primary master, a full node list always follows the identification. For storage nodes, this means that they now know all nodes during the RECOVERING phase. The initial full node list now always contains a node tuple for: - the server-side node (i.e. the primary master): on a master, this is done by always having a node describing itself in its node manager. - the client-side node, to make sure it gets a id timestamp: now an admin node also receives a node for itself.
-
- 31 Mar, 2017 1 commit
-
-
Julien Muchembled authored
-
- 02 Feb, 2017 1 commit
-
-
Julien Muchembled authored
Now that we do inequality comparisons between timestamps, the master must use a monotonic clock, to avoid issues when the clock is turned back. Before, the probability that time.time() returned again the same value was probably negligible.
-
- 18 Jan, 2017 1 commit
-
-
Julien Muchembled authored
-
- 13 Jan, 2017 1 commit
-
-
- 01 Dec, 2016 3 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
Many "unit" tests (!= "threaded" tests) don't do more than checking implementation details, and increase coverage artificially. As with testEvent in commit 71e30fb9, most of these tests will either be removed or rewritten as threaded tests. The fact that the remaining unit tests actually cover code that other test don't gives motivation to maintain them. It will be also less code to update when switching to https://pypi.python.org/pypi/mock I proceeded as follows: 1. Measure coverage for all tests except unit tests. While checking my work, I found that coverage stats for threaded/functional/zodb tests are quite unstable, so I restarted from the beginning by doing this measure several times and only keeping the intersection of coverage data. 2. Measure coverage individually for each 'unit' tests, and substract the each result with the data in 1. 3. The candidates for deletion are those without any code covered. Tests I didn't delete: - neo.tests.master.testElectionHandler: I always do minimal changes about election, as long as there's no serious review. - neo.tests.master.testMasterPT.MasterPartitionTableTests.test_13_outdate - 4 tests in neo.tests.testPT: test_01_Cell, test_04_removeCell, test_06_clear, test_08_filled - neo.tests.storage.testStorage{MySQL,SQLite} - neo.tests.testUtil.UtilTests.testReadBufferRead In a way, this commit is actually quite conservative. There are still many useless tests that only check error paths and for simple tested methods, this is just duplicating thie tested code.
-
Julien Muchembled authored
-
- 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
-
- 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.
-
- 21 May, 2015 1 commit
-
-
Julien Muchembled authored
-
- 07 Jan, 2014 1 commit
-
-
Julien Muchembled authored
-
- 13 Jul, 2012 1 commit
-
-
Julien Muchembled authored
-
- 21 Mar, 2012 1 commit
-
-
Julien Muchembled authored
-
- 13 Mar, 2012 1 commit
-
-
Julien Muchembled authored
-
- 09 Jan, 2012 1 commit
-
-
Vincent Pelletier authored
-
- 26 Oct, 2011 1 commit
-
-
Julien Muchembled authored
-
- 18 Jan, 2011 1 commit
-
-
Olivier Cros authored
Bugs corrections with cancelling tabulations and misplaced backslashes. git-svn-id: https://svn.erp5.org/repos/neo/trunk@2616 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
-
- 02 Nov, 2010 1 commit
-
-
Vincent Pelletier authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2399 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 01 Nov, 2010 1 commit
-
-
Vincent Pelletier authored
There is no reason why we wouldn't see this when runing individual tests, I think. git-svn-id: https://svn.erp5.org/repos/neo/trunk@2392 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 04 May, 2010 1 commit
-
-
Vincent Pelletier authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2059 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 30 Apr, 2010 2 commits
-
-
Vincent Pelletier authored
- Don't trash a node to recreate it right after (it was the case when a node was known by address only). - Check node type consistency between: - parameters and node found - node known by type and node known by UUID - Log actions before doing them, consistently - Log found node in addition to loop variables - Don't call remove when an unknown node is notified as down, and add a log for this case git-svn-id: https://svn.erp5.org/repos/neo/trunk@2049 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
Vincent Pelletier authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@2046 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 23 Feb, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1838 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 22 Feb, 2010 4 commits
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1828 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
Grégory Wisniewski authored
Singeltons can not be used in NEO because client side process may deals with multiple NEO cluster. Add a callback on connection when linked with a node to update node's connection property at connection closure. git-svn-id: https://svn.erp5.org/repos/neo/trunk@1826 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1813 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1812 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 01 Feb, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1576 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 13 Jan, 2010 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1420 71dcc9de-d417-0410-9af5-da40c76e7ee4
-
- 07 Oct, 2009 1 commit
-
-
Grégory Wisniewski authored
git-svn-id: https://svn.erp5.org/repos/neo/trunk@1362 71dcc9de-d417-0410-9af5-da40c76e7ee4
-