Permalink
Browse files

A reliable coordinator.

Make the coordinator reliable using the Replicant system.  This change includes
a number of smaller changes.

 - Use a new version of BusyBee.  This corresponds to BusyBee commit
   a6de29d5bb013081ab82a11e43073a85d073d3f2 that changes the interface from
   using po6::net::location to one that uses opaque object ids.
 - Reduce the number of bytes per message for all server-server messages
 - Remove all the "hyper" from file names.
 - Put everything in the "hyperdex" namespace (rename hyperdaemon to hyperdex
   and remove hyperdisk/hyperspacehashing (they disappeared anyway))
 - Change the coordinator control to be intergrated with the client, allowing
   programmatic space manipulation.
 - Introduce a new coordinator that uses Replicant
 - Remove the python-based coordinator
  • Loading branch information...
1 parent eef781c commit 910a669229278a397a435081c8e412dabd4813e9 @rescrv committed Dec 19, 2012
Showing with 9,391 additions and 12,250 deletions.
  1. +11 −2 .gitignore
  2. +115 −216 Makefile.am
  3. +2 −2 {hyperclient → client}/c/testcompile.c
  4. +9 −3 hyperclient/hyperclient_c_wrappers.cc → client/c_wrappers.cc
  5. +40 −0 client/cc/testcompile.cc
  6. +62 −0 client/complete.cc
  7. +54 −0 client/complete.h
  8. +45 −0 client/constants.h
  9. +299 −0 client/coordinator_link.cc
  10. +74 −0 client/coordinator_link.h
  11. +289 −269 {hyperclient → client}/hyperclient.cc
  12. +59 −74 {hyperclient → client}/hyperclient.h
  13. +1 −1 {hyperclient → client}/keyop_info.gperf
  14. +3 −3 {hyperclient → client}/keyop_info.h
  15. +257 −0 client/parse_space_aux.cc
  16. +114 −0 client/parse_space_aux.h
  17. +56 −0 client/parse_space_l.l
  18. +118 −0 client/parse_space_y.y
  19. +135 −0 client/partition.cc
  20. +9 −16 hyperspacehashing/cfloat.h → client/partition.h
  21. +3 −4 hyperclient/hyperclient_pending.cc → client/pending.cc
  22. +16 −18 hyperclient/hyperclient_pending.h → client/pending.h
  23. +10 −11 hyperclient/hyperclient_pending_count.cc → client/pending_count.cc
  24. +9 −8 hyperclient/hyperclient_pending_count.h → client/pending_count.h
  25. +11 −10 hyperclient/hyperclient_pending_get.cc → client/pending_get.cc
  26. +6 −6 hyperclient/hyperclient_pending_get.h → client/pending_get.h
  27. +10 −11 hyperclient/hyperclient_pending_group_del.cc → client/pending_group_del.cc
  28. +8 −7 hyperclient/hyperclient_pending_group_del.h → client/pending_group_del.h
  29. +22 −21 hyperclient/hyperclient_pending_search.cc → client/pending_search.cc
  30. +9 −8 hyperclient/hyperclient_pending_search.h → client/pending_search.h
  31. +10 −10 hyperclient/hyperclient_pending_sorted_search.cc → client/pending_sorted_search.cc
  32. +6 −6 hyperclient/hyperclient_pending_sorted_search.h → client/pending_sorted_search.h
  33. +8 −7 hyperclient/hyperclient_pending_statusonly.cc → client/pending_statusonly.cc
  34. +5 −8 hyperclient/hyperclient_pending_statusonly.h → client/pending_statusonly.h
  35. +30 −10 hyperclient/constants.h → client/refcount.cc
  36. +23 −21 hyperspacehashing/hashes_internal.h → client/refcount.h
  37. +125 −0 client/space_description.cc
  38. +42 −0 client/space_description.h
  39. +4 −3 {hyperclient → client}/util.cc
  40. +7 −18 {hyperclient → client}/util.h
  41. 0 {hyperclient → client}/wrap.h
  42. +518 −0 common/configuration.cc
  43. +134 −0 common/configuration.h
  44. +45 −0 common/coordinator_returncode.h
  45. +146 −0 common/float_encode.cc
  46. +8 −13 hyperspacehashing/hyperspacehashing/hashes.h → common/float_encode.h
  47. +110 −0 common/hash.cc
  48. +9 −17 common/{hashing.h → hash.h}
  49. +86 −0 common/hyperdex.cc
  50. +492 −0 common/hyperspace.cc
  51. +165 −0 common/hyperspace.h
  52. +47 −0 common/mapper.cc
  53. +59 −0 common/mapper.h
  54. +4 −62 hyperdex/hyperdex/network_constants.h → common/network_msgtype.cc
  55. +74 −0 common/network_msgtype.h
  56. +50 −0 common/network_returncode.h
  57. +80 −0 common/region_id.h
  58. +102 −10 common/serialization.cc
  59. +30 −10 common/serialization.h
  60. +80 −0 common/server_id.h
  61. +65 −0 common/space_id.h
  62. +71 −0 common/subspace_id.h
  63. +71 −0 common/virtual_server_id.h
  64. +2 −33 configure.ac
  65. +102 −0 coordinator/add-space.cc
  66. +46 −0 coordinator/add-space.h
  67. +130 −0 coordinator/coordinator.cc
  68. +77 −0 coordinator/coordinator.h
  69. +60 −0 coordinator/get-config.cc
  70. +46 −0 coordinator/get-config.h
  71. +40 −43 hyperspacehashing/utils/cfloat.cc → coordinator/meta.cc
  72. +57 −0 coordinator/meta.h
  73. +76 −0 coordinator/register.cc
  74. +46 −0 coordinator/register.h
  75. +76 −0 coordinator/rm-space.cc
  76. +46 −0 coordinator/rm-space.h
  77. +49 −0 coordinator/symtable.c
  78. +65 −0 coordinator/util.h
  79. +0 −209 daemon.cc
  80. +388 −0 daemon/communication.cc
  81. +131 −0 daemon/communication.h
  82. +547 −243 daemon/daemon.cc
  83. +39 −40 daemon/daemon.h
  84. +281 −227 daemon/datalayer.cc
  85. +28 −21 daemon/datalayer.h
  86. +2 −96 daemon/index_encode.cc
  87. +211 −0 daemon/main.cc
  88. +1 −1 daemon/reconfigure_returncode.h
  89. +868 −0 daemon/replication_manager.cc
  90. +184 −0 daemon/replication_manager.h
  91. +47 −0 daemon/replication_manager_deferred.cc
  92. +24 −26 hyperspacehashing/range_match.h → daemon/replication_manager_deferred.h
  93. +254 −0 daemon/replication_manager_keyholder.cc
  94. +105 −0 daemon/replication_manager_keyholder.h
  95. +25 −25 hyperspacehashing/hashes.cc → daemon/replication_manager_keypair.cc
  96. +19 −15 hyperdaemon/runtimeconfig.h → daemon/replication_manager_keypair.h
  97. +84 −0 daemon/replication_manager_pending.cc
  98. +37 −44 hyperdaemon/replication_manager_deferred.h → daemon/replication_manager_pending.h
  99. +106 −82 daemon/search_manager.cc
  100. +20 −17 daemon/search_manager.h
  101. +9 −14 datatypes/apply.cc
  102. +2 −3 datatypes/apply.h
  103. +0 −18 datatypes/compare.cc
  104. +0 −10 datatypes/compare.h
  105. +6 −6 datatypes/map.cc
  106. +12 −4 datatypes/set.cc
  107. +0 −80 hyperclient/hyperclient_completedop.h
  108. +0 −25 hypercoordinator/__init__.py
  109. +0 −221 hypercoordinator/client.py
  110. +0 −941 hypercoordinator/coordinator.py
  111. +0 −117 hypercoordinator/hdjson.py
  112. +0 −260 hypercoordinator/hdtypes.py
  113. +0 −334 hypercoordinator/parser.py
  114. +0 −482 hyperdaemon/logical.cc
  115. +0 −132 hyperdaemon/logical.h
  116. +0 −102 hyperdaemon/replication/clientop.h
  117. +0 −115 hyperdaemon/replication/keypair.h
  118. +0 −1,233 hyperdaemon/replication_manager.cc
  119. +0 −228 hyperdaemon/replication_manager.h
  120. +0 −289 hyperdaemon/replication_manager_keyholder.h
  121. +0 −112 hyperdaemon/replication_manager_pending.h
  122. +0 −34 hyperdaemon/runtimeconfig.cc
  123. +0 −4 hyperdex-coordinator
  124. +0 −3 hyperdex-coordinator-control
  125. +145 −0 hyperdex.cc
  126. +0 −654 hyperdex/configuration.cc
  127. +0 −1,030 hyperdex/configuration_parser.cc
  128. +0 −314 hyperdex/coordinatorlink.cc
  129. +0 −223 hyperdex/hyperdex/configuration.h
  130. +0 −163 hyperdex/hyperdex/configuration_parser.h
  131. +0 −122 hyperdex/hyperdex/coordinatorlink.h
  132. +0 −422 hyperdex/hyperdex/ids.h
  133. +0 −92 hyperdex/hyperdex/instance.h
  134. +0 −153 hyperspacehashing/bithacks.h
  135. +0 −108 hyperspacehashing/cfloat.cc
  136. +0 −118 hyperspacehashing/hyperspacehashing/prefix.h
  137. +0 −88 hyperspacehashing/hyperspacehashing/search.h
  138. +0 −404 hyperspacehashing/prefix.cc
  139. +0 −106 hyperspacehashing/range_match.cc
  140. +0 −210 hyperspacehashing/search.cc
  141. +0 −106 hyperspacehashing/test/bithacks.cc
  142. +0 −100 hyperspacehashing/test/cfloat.cc
  143. +0 −204 hyperspacehashing/test/mask.cc
  144. +0 −219 hyperspacehashing/test/prefix.cc
  145. +0 −212 hyperspacehashing/test/search.cc
  146. +2 −1 search-stress-test.cc
  147. +3 −2 simple-consistency-stress-test.cc
  148. +4 −0 test/common.h
  149. +140 −0 tools/add-space.cc
  150. +70 −0 tools/common.h
  151. +117 −0 tools/rm-space.cc
  152. +0 −425 trace-player.cc
View
@@ -1,22 +1,30 @@
aclocal.m4
autom4te.cache/
binary-test
+client/cc/testcompile
+client/c/testcompile
+client/keyop_info.cc
+client/parse_space_l.c
+client/parse_space_y.c
+client/parse_space_y.h
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
+daemon/test/index_encode
depcomp
.deps
.dirstamp
-hyperclient/c/testcompile
-hyperclient/keyop_info.cc
hyperclient/python/hyperclient.c
+hyperdex
+hyperdex-add-space
hyperdex-binary-test
hyperdex-daemon
hyperdex-replication-stress-test
+hyperdex-rm-space
hyperdex-search-stress-test
hyperdex-simple-consistency-stress-test
hyperspacehashing/test/bithacks
@@ -41,3 +49,4 @@ missing
*.pyc
py-compile
stamp-h1
+ylwrap
Oops, something went wrong.

0 comments on commit 910a669

Please sign in to comment.