An error occurred fetching the project authors.
- 15 Sep, 2015 1 commit
-
-
Julien Muchembled authored
The previous implementation was built around a 'pending' global variable that was set by a few monkey-patches when some network activity was pending between nodes. All this is replaced by an extra epoll object is used to wait for nodes that have pending network events: this is simpler, and faster since it significantly reduces the number of context switches.
-
- 14 Sep, 2015 1 commit
-
-
Julien Muchembled authored
-
- 28 Aug, 2015 3 commits
-
-
Julien Muchembled authored
Traceback (most recent call last): File "neo/tests/threaded/test.py", line 838, in testRecycledClientUUID x = client.load(ZERO_TID) [...] File "neo/tests/threaded/test.py", line 822, in notReady m2s.remove(delayNotifyInformation) File "neo/tests/threaded/__init__.py", line 482, in remove del self.filter_dict[filter] KeyError: <function delayNotifyInformation at 0x7f511063a578>
-
Julien Muchembled authored
NEOCluster.tic() gets a new 'slave' parameter that must be True when a client node is in 'master' mode (i.e. setPoll(True)). In this case, tic() will wait that all nodes finish their work and the client polls with a non-zero timeout. Here, tic(slave=1) is used to wait for the storage to process NotifyUnlockInformation notification from the master. Traceback (most recent call last): File "neo/tests/threaded/test.py", line 80, in testBasicStore self.assertEqual(data_info, cluster.storage.getDataLockInfo()) File "neo/tests/__init__.py", line 170, in assertEqual return super(NeoTestBase, self).assertEqual(first, second, msg=msg) failureException: {('\x0b\xee\xc7\xb5\xea?\x0f\xdb\xc9]\r\xd4\x7f<[\xc2u\xda\x8a3', 0): 0} != {('\x0b\xee\xc7\xb5\xea?\x0f\xdb\xc9]\r\xd4\x7f<[\xc2u\xda\x8a3', 0): 1}
-
Julien Muchembled authored
deadlocks mainly happened while stopping a cluster, hence the complete review of NEOCluster.stop() A major change is to make the client node handle its lock like other nodes (i.e. in the polling thread itself) to better know when to call Serialized.background() (there was a race condition with the test of 'self.poll_thread.isAlive()' in ClientApplication.close).
-
- 14 Aug, 2015 1 commit
-
-
Julien Muchembled authored
For example, a backup storage node that was rejected because the upstream cluster was not ready could reconnect in loop without delay, using 100% CPU and flooding logs. A new 'setReconnectionNoDelay' method on Connection can be used for cases where it's legitimate to quickly reconnect. With this new delayed reconnection, it's possible to remove the remaining time.sleep().
-
- 12 Aug, 2015 5 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
With this patch, the epolling object is not awoken every second to check if a timeout has expired. The API of Connection is changed to get the smallest timeout.
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 30 Jun, 2015 1 commit
-
-
Julien Muchembled authored
-
- 23 Jun, 2015 1 commit
-
-
Julien Muchembled authored
-
- 15 Jun, 2015 1 commit
-
-
Julien Muchembled authored
Limiting the size of data.value column to 16 MB saves 1 byte by switching to MEDIUMBLOB, and it avoid the need of big redo logs in InnoDB.
-
- 09 Jun, 2015 1 commit
-
-
Julien Muchembled authored
This fixes the case of an application that would store 2 values X & Y where NEO internally compresses X into a value identical to Y.
-
- 21 May, 2015 1 commit
-
-
Julien Muchembled authored
-
- 30 Jul, 2014 1 commit
-
-
Julien Muchembled authored
-
- 04 Jul, 2014 1 commit
-
-
Julien Muchembled authored
For the moment, this is only useful for debugging.
-
- 03 Jun, 2014 1 commit
-
-
Julien Muchembled authored
-
- 07 Jan, 2014 1 commit
-
-
Julien Muchembled authored
-
- 26 Aug, 2012 1 commit
-
-
Julien Muchembled authored
-
- 20 Aug, 2012 2 commits
-
-
Vincent Pelletier authored
-
Julien Muchembled authored
-
- 10 Aug, 2012 1 commit
-
-
Julien Muchembled authored
-
- 08 Aug, 2012 1 commit
-
-
Julien Muchembled authored
-
- 23 Jul, 2012 1 commit
-
-
Julien Muchembled authored
-
- 18 Jul, 2012 1 commit
-
-
Julien Muchembled authored
-
- 13 Jul, 2012 1 commit
-
-
Julien Muchembled authored
-
- 05 Jul, 2012 1 commit
-
-
Julien Muchembled authored
In STOPPING state, the primary: 1. rejects all clients and any new node 2. finalize remaining transactions (i.e. those for which a tcp_finish was received) 3. finally shut down all nodes of the cluster
-
- 26 Mar, 2012 2 commits
-
-
Vincent Pelletier authored
-
Vincent Pelletier authored
-
- 22 Mar, 2012 1 commit
-
-
Vincent Pelletier authored
The only case where UUID persistence matters is on storage nodes, and it is already restored from database if available.
-
- 21 Mar, 2012 1 commit
-
-
Julien Muchembled authored
-
- 20 Mar, 2012 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
The main goal of this patch is to keep all DEBUG logs and packet logger enabled without exploding disk usage. This is done by keeping the last 16 MB (by default) of debugging information in a RAM buffer, and to emit it to an SQLite DB upon RTMIN signal or in case of warning and more severe log. Implementation is also cleaned up for better integration within a framework or if run standalone. NEO logger is now a direct child of root handler. Only warnings and more severe logs are forwarded to root handler. A new script 'neolog' is added to pretty-print the contents of the SQLite log. In unit tests, logging events are not buffered but emitted immediately. When a test passes, payloads of all exchanged packets are discarded to reduce disk usage on test bots. This slows down performance tests by about 15 % because even if nothing is written to disk, debug and packet log records are now always rendered.
-
- 14 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
-
- 24 Feb, 2012 1 commit
-
-
Julien Muchembled authored
Replication is also fully reimplemented: - It is not done anymore on whole partitions. - It runs at lowest priority not to degrades performance for client nodes. Schema of MySQL table is changed to optimize storage layout: rows are now grouped by age, for good partial replication performance. This certainly also speeds up simple loads/stores.
-
- 22 Feb, 2012 1 commit
-
-
Vincent Pelletier authored
-