index_spec_test.json 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. {
  2. "Index Creation succeeds even if not primary": {
  3. "describeName": "Client Side Index",
  4. "itName": "Index Creation succeeds even if not primary",
  5. "tags": [
  6. "multi-client"
  7. ],
  8. "config": {
  9. "numClients": 2,
  10. "useEagerGCForMemory": false
  11. },
  12. "steps": [
  13. {
  14. "clientIndex": 0,
  15. "drainQueue": true,
  16. "expectedState": {
  17. "isPrimary": true
  18. }
  19. },
  20. {
  21. "clientIndex": 1,
  22. "drainQueue": true,
  23. "expectedState": {
  24. "isPrimary": false
  25. }
  26. },
  27. {
  28. "clientIndex": 1,
  29. "setIndexConfiguration": {
  30. "indexes": [
  31. {
  32. "collectionGroup": "restaurants",
  33. "fields": [
  34. {
  35. "fieldPath": "price",
  36. "order": "ASCENDING"
  37. }
  38. ],
  39. "queryScope": "COLLECTION"
  40. }
  41. ]
  42. },
  43. "expectedState": {
  44. "indexes": [
  45. {
  46. "collectionGroup": "restaurants",
  47. "fields": [
  48. {
  49. "fieldPath": {
  50. "len": 1,
  51. "offset": 0,
  52. "segments": [
  53. "price"
  54. ]
  55. },
  56. "kind": 0
  57. }
  58. ],
  59. "indexId": -1,
  60. "indexState": {
  61. "offset": {
  62. "documentKey": {
  63. "path": {
  64. "len": 0,
  65. "offset": 0,
  66. "segments": [
  67. ]
  68. }
  69. },
  70. "largestBatchId": -1,
  71. "readTime": {
  72. "timestamp": {
  73. "nanoseconds": 0,
  74. "seconds": 0
  75. }
  76. }
  77. },
  78. "sequenceNumber": 0
  79. }
  80. }
  81. ]
  82. }
  83. },
  84. {
  85. "clientIndex": 0,
  86. "drainQueue": true,
  87. "expectedState": {
  88. "indexes": [
  89. {
  90. "collectionGroup": "restaurants",
  91. "fields": [
  92. {
  93. "fieldPath": {
  94. "len": 1,
  95. "offset": 0,
  96. "segments": [
  97. "price"
  98. ]
  99. },
  100. "kind": 0
  101. }
  102. ],
  103. "indexId": -1,
  104. "indexState": {
  105. "offset": {
  106. "documentKey": {
  107. "path": {
  108. "len": 0,
  109. "offset": 0,
  110. "segments": [
  111. ]
  112. }
  113. },
  114. "largestBatchId": -1,
  115. "readTime": {
  116. "timestamp": {
  117. "nanoseconds": 0,
  118. "seconds": 0
  119. }
  120. }
  121. },
  122. "sequenceNumber": 0
  123. }
  124. }
  125. ]
  126. }
  127. }
  128. ]
  129. },
  130. "Index Creation visible on all clients": {
  131. "describeName": "Client Side Index",
  132. "itName": "Index Creation visible on all clients",
  133. "tags": [
  134. "multi-client"
  135. ],
  136. "config": {
  137. "numClients": 2,
  138. "useEagerGCForMemory": false
  139. },
  140. "steps": [
  141. {
  142. "clientIndex": 0,
  143. "drainQueue": true,
  144. "expectedState": {
  145. "isPrimary": true
  146. }
  147. },
  148. {
  149. "clientIndex": 0,
  150. "setIndexConfiguration": {
  151. "indexes": [
  152. {
  153. "collectionGroup": "restaurants",
  154. "fields": [
  155. {
  156. "fieldPath": "price",
  157. "order": "ASCENDING"
  158. }
  159. ],
  160. "queryScope": "COLLECTION"
  161. }
  162. ]
  163. },
  164. "expectedState": {
  165. "indexes": [
  166. {
  167. "collectionGroup": "restaurants",
  168. "fields": [
  169. {
  170. "fieldPath": {
  171. "len": 1,
  172. "offset": 0,
  173. "segments": [
  174. "price"
  175. ]
  176. },
  177. "kind": 0
  178. }
  179. ],
  180. "indexId": -1,
  181. "indexState": {
  182. "offset": {
  183. "documentKey": {
  184. "path": {
  185. "len": 0,
  186. "offset": 0,
  187. "segments": [
  188. ]
  189. }
  190. },
  191. "largestBatchId": -1,
  192. "readTime": {
  193. "timestamp": {
  194. "nanoseconds": 0,
  195. "seconds": 0
  196. }
  197. }
  198. },
  199. "sequenceNumber": 0
  200. }
  201. }
  202. ]
  203. }
  204. },
  205. {
  206. "clientIndex": 1,
  207. "drainQueue": true,
  208. "expectedState": {
  209. "indexes": [
  210. {
  211. "collectionGroup": "restaurants",
  212. "fields": [
  213. {
  214. "fieldPath": {
  215. "len": 1,
  216. "offset": 0,
  217. "segments": [
  218. "price"
  219. ]
  220. },
  221. "kind": 0
  222. }
  223. ],
  224. "indexId": -1,
  225. "indexState": {
  226. "offset": {
  227. "documentKey": {
  228. "path": {
  229. "len": 0,
  230. "offset": 0,
  231. "segments": [
  232. ]
  233. }
  234. },
  235. "largestBatchId": -1,
  236. "readTime": {
  237. "timestamp": {
  238. "nanoseconds": 0,
  239. "seconds": 0
  240. }
  241. }
  242. },
  243. "sequenceNumber": 0
  244. }
  245. }
  246. ],
  247. "isPrimary": false
  248. }
  249. }
  250. ]
  251. }
  252. }