google-cloud-bigtable 0.8.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/OVERVIEW.md +388 -19
- data/lib/google-cloud-bigtable.rb +0 -1
- data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +1 -1
- data/lib/google/bigtable/v2/bigtable_pb.rb +3 -0
- data/lib/google/bigtable/v2/bigtable_services_pb.rb +1 -1
- data/lib/google/cloud/bigtable/admin.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +6 -5
- data/lib/google/cloud/bigtable/app_profile.rb +13 -13
- data/lib/google/cloud/bigtable/app_profile/list.rb +7 -7
- data/lib/google/cloud/bigtable/cluster.rb +7 -7
- data/lib/google/cloud/bigtable/cluster/list.rb +2 -2
- data/lib/google/cloud/bigtable/column_family.rb +3 -1
- data/lib/google/cloud/bigtable/column_family_map.rb +8 -8
- data/lib/google/cloud/bigtable/column_range.rb +6 -6
- data/lib/google/cloud/bigtable/gc_rule.rb +8 -8
- data/lib/google/cloud/bigtable/instance.rb +74 -64
- data/lib/google/cloud/bigtable/instance/cluster_map.rb +8 -6
- data/lib/google/cloud/bigtable/instance/job.rb +2 -2
- data/lib/google/cloud/bigtable/instance/list.rb +4 -4
- data/lib/google/cloud/bigtable/longrunning_job.rb +1 -1
- data/lib/google/cloud/bigtable/mutation_entry.rb +17 -16
- data/lib/google/cloud/bigtable/mutation_operations.rb +10 -11
- data/lib/google/cloud/bigtable/project.rb +28 -59
- data/lib/google/cloud/bigtable/read_modify_write_rule.rb +6 -6
- data/lib/google/cloud/bigtable/read_operations.rb +14 -18
- data/lib/google/cloud/bigtable/routing_policy.rb +3 -2
- data/lib/google/cloud/bigtable/row.rb +14 -14
- data/lib/google/cloud/bigtable/row_filter.rb +31 -15
- data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +49 -26
- data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +4 -1
- data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +44 -24
- data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +3 -3
- data/lib/google/cloud/bigtable/rows_reader.rb +2 -2
- data/lib/google/cloud/bigtable/sample_row_key.rb +1 -1
- data/lib/google/cloud/bigtable/table.rb +18 -18
- data/lib/google/cloud/bigtable/table/cluster_state.rb +10 -5
- data/lib/google/cloud/bigtable/table/list.rb +2 -2
- data/lib/google/cloud/bigtable/v2.rb +1 -1
- data/lib/google/cloud/bigtable/v2/bigtable_client.rb +21 -12
- data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +34 -13
- data/lib/google/cloud/bigtable/value_range.rb +14 -13
- data/lib/google/cloud/bigtable/version.rb +1 -1
- metadata +2 -2
@@ -53,7 +53,7 @@ module Google
|
|
53
53
|
end
|
54
54
|
|
55
55
|
##
|
56
|
-
#
|
56
|
+
# Sets a true filter on predicate-filter match.
|
57
57
|
#
|
58
58
|
# The filter to apply to the input row if `predicate_filter` returns any
|
59
59
|
# results. If not provided, no results will be returned in the true case.
|
@@ -62,6 +62,7 @@ module Google
|
|
62
62
|
# @return [Google::Cloud::Bigtable::RowFilter::ConditionFilter]
|
63
63
|
#
|
64
64
|
# @example
|
65
|
+
# require "google/cloud/bigtable"
|
65
66
|
# predicate = Google::Cloud::Bigtable::RowFilter.key("user-*")
|
66
67
|
#
|
67
68
|
# label = Google::Cloud::Bigtable::RowFilter.label("user")
|
@@ -85,6 +86,8 @@ module Google
|
|
85
86
|
# @return [Google::Cloud::Bigtable::RowFilter::ConditionFilter]
|
86
87
|
#
|
87
88
|
# @example
|
89
|
+
# require "google/cloud/bigtable"
|
90
|
+
#
|
88
91
|
# predicate = Google::Cloud::Bigtable::RowFilter.key("user-*")
|
89
92
|
#
|
90
93
|
# label = Google::Cloud::Bigtable::RowFilter.label("user")
|
@@ -52,6 +52,7 @@ module Google
|
|
52
52
|
# All interleaved filters are executed atomically.
|
53
53
|
#
|
54
54
|
# @example Create an interleave filter with a simple filter.
|
55
|
+
# require "google/cloud/bigtable"
|
55
56
|
#
|
56
57
|
# interleave = Google::Cloud::Bigtable::RowFilter.interleave
|
57
58
|
#
|
@@ -63,14 +64,15 @@ module Google
|
|
63
64
|
# interleave.key("user-*").sink
|
64
65
|
#
|
65
66
|
# @example Create a complex interleave filter.
|
67
|
+
# require "google/cloud/bigtable"
|
66
68
|
#
|
67
|
-
#
|
69
|
+
# interleave = Google::Cloud::Bigtable::RowFilter.interleave
|
68
70
|
#
|
69
|
-
#
|
70
|
-
#
|
71
|
+
# chain_1 = Google::Cloud::Bigtable::RowFilter.chain
|
72
|
+
# chain_1.label("users").qualifier("name").cells_per_row(5)
|
71
73
|
#
|
72
|
-
#
|
73
|
-
#
|
74
|
+
# # Add to main chain filter
|
75
|
+
# interleave.chain(chain_1).value("xyz*").key("user-*")
|
74
76
|
#
|
75
77
|
class InterleaveFilter
|
76
78
|
# @private
|
@@ -80,7 +82,7 @@ module Google
|
|
80
82
|
end
|
81
83
|
|
82
84
|
##
|
83
|
-
# Adds a chain filter
|
85
|
+
# Adds a chain filter.
|
84
86
|
#
|
85
87
|
# A Chain RowFilter that sends rows through several RowFilters in sequence.
|
86
88
|
#
|
@@ -95,6 +97,7 @@ module Google
|
|
95
97
|
# `self` instance of interleave filter.
|
96
98
|
#
|
97
99
|
# @example Create a chain filter and add an interleave filter.
|
100
|
+
# require "google/cloud/bigtable"
|
98
101
|
#
|
99
102
|
# chain = Google::Cloud::Bigtable::RowFilter.chain
|
100
103
|
#
|
@@ -145,6 +148,7 @@ module Google
|
|
145
148
|
# `self` instance of interleave filter.
|
146
149
|
#
|
147
150
|
# @example Add an interleave filter to a chain filter.
|
151
|
+
# require "google/cloud/bigtable"
|
148
152
|
#
|
149
153
|
# interleave = Google::Cloud::Bigtable::RowFilter.interleave
|
150
154
|
#
|
@@ -159,7 +163,7 @@ module Google
|
|
159
163
|
end
|
160
164
|
|
161
165
|
##
|
162
|
-
# Adds a condition filter
|
166
|
+
# Adds a condition filter.
|
163
167
|
#
|
164
168
|
# A RowFilter that evaluates one of two possible RowFilters, depending on
|
165
169
|
# whether or not a predicate RowFilter outputs any cells from the input row.
|
@@ -176,6 +180,7 @@ module Google
|
|
176
180
|
# `self` instance of interleave filter.
|
177
181
|
#
|
178
182
|
# @example
|
183
|
+
# require "google/cloud/bigtable"
|
179
184
|
#
|
180
185
|
# predicate = Google::Cloud::Bigtable::RowFilter.key("user-*")
|
181
186
|
#
|
@@ -193,7 +198,7 @@ module Google
|
|
193
198
|
end
|
194
199
|
|
195
200
|
##
|
196
|
-
# Adds a pass filter
|
201
|
+
# Adds a pass filter.
|
197
202
|
#
|
198
203
|
# Matches all cells, regardless of input. Functionally equivalent to
|
199
204
|
# leaving `filter` unset, but included for completeness.
|
@@ -202,6 +207,7 @@ module Google
|
|
202
207
|
# `self` instance of interleave filter.
|
203
208
|
#
|
204
209
|
# @example
|
210
|
+
# require "google/cloud/bigtable"
|
205
211
|
#
|
206
212
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.pass
|
207
213
|
#
|
@@ -210,7 +216,7 @@ module Google
|
|
210
216
|
end
|
211
217
|
|
212
218
|
##
|
213
|
-
# Adds a block-all filter
|
219
|
+
# Adds a block-all filter.
|
214
220
|
#
|
215
221
|
# Does not match any cells, regardless of input. Useful for temporarily
|
216
222
|
# disabling just part of a filter.
|
@@ -219,6 +225,7 @@ module Google
|
|
219
225
|
# `self` instance of interleave filter.
|
220
226
|
#
|
221
227
|
# @example
|
228
|
+
# require "google/cloud/bigtable"
|
222
229
|
#
|
223
230
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.block
|
224
231
|
#
|
@@ -227,7 +234,7 @@ module Google
|
|
227
234
|
end
|
228
235
|
|
229
236
|
##
|
230
|
-
# Adds a sink filter
|
237
|
+
# Adds a sink filter.
|
231
238
|
#
|
232
239
|
# Outputs all cells directly to the output of the read rather than to any parent filter.
|
233
240
|
#
|
@@ -235,6 +242,7 @@ module Google
|
|
235
242
|
# `self` instance of interleave filter.
|
236
243
|
#
|
237
244
|
# @example
|
245
|
+
# require "google/cloud/bigtable"
|
238
246
|
#
|
239
247
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.sink
|
240
248
|
#
|
@@ -243,7 +251,7 @@ module Google
|
|
243
251
|
end
|
244
252
|
|
245
253
|
##
|
246
|
-
# Adds a strip-value filter
|
254
|
+
# Adds a strip-value filter.
|
247
255
|
#
|
248
256
|
# Replaces each cell's value with an empty string.
|
249
257
|
#
|
@@ -251,6 +259,7 @@ module Google
|
|
251
259
|
# `self` instance of interleave filter.
|
252
260
|
#
|
253
261
|
# @example
|
262
|
+
# require "google/cloud/bigtable"
|
254
263
|
#
|
255
264
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.strip_value
|
256
265
|
#
|
@@ -277,6 +286,7 @@ module Google
|
|
277
286
|
# `self` instance of interleave filter.
|
278
287
|
#
|
279
288
|
# @example
|
289
|
+
# require "google/cloud/bigtable"
|
280
290
|
#
|
281
291
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.key("user-*")
|
282
292
|
#
|
@@ -285,17 +295,18 @@ module Google
|
|
285
295
|
end
|
286
296
|
|
287
297
|
##
|
288
|
-
# Adds a sample-probability filter
|
298
|
+
# Adds a sample-probability filter.
|
289
299
|
#
|
290
300
|
# Matches all cells from a row with probability p, and matches no cells
|
291
301
|
# from the row with probability 1-p.
|
292
302
|
#
|
293
|
-
# @param probability [Float] Probability value
|
294
|
-
# Probability must be
|
303
|
+
# @param probability [Float] Probability value.
|
304
|
+
# Probability must be greater than 0 and less than 1.0.
|
295
305
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
296
306
|
# `self` instance of interleave filter.
|
297
307
|
#
|
298
308
|
# @example
|
309
|
+
# require "google/cloud/bigtable"
|
299
310
|
#
|
300
311
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.sample(0.5)
|
301
312
|
#
|
@@ -321,6 +332,7 @@ module Google
|
|
321
332
|
# `self` instance of interleave filter.
|
322
333
|
#
|
323
334
|
# @example
|
335
|
+
# require "google/cloud/bigtable"
|
324
336
|
#
|
325
337
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.family("cf-*")
|
326
338
|
#
|
@@ -346,6 +358,7 @@ module Google
|
|
346
358
|
# `self` instance of interleave filter.
|
347
359
|
#
|
348
360
|
# @example
|
361
|
+
# require "google/cloud/bigtable"
|
349
362
|
#
|
350
363
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.qualifier("user-name*")
|
351
364
|
#
|
@@ -370,6 +383,7 @@ module Google
|
|
370
383
|
# `self` instance of interleave filter.
|
371
384
|
#
|
372
385
|
# @example
|
386
|
+
# require "google/cloud/bigtable"
|
373
387
|
#
|
374
388
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.value("abc*")
|
375
389
|
#
|
@@ -385,7 +399,7 @@ module Google
|
|
385
399
|
# the filter.
|
386
400
|
#
|
387
401
|
# Values must be at most 15 characters in length, and match the RE2
|
388
|
-
# pattern `[a-z0-9\\-]
|
402
|
+
# pattern `[a-z0-9\\-]+`.
|
389
403
|
#
|
390
404
|
# Due to a technical limitation, it is not possible to apply
|
391
405
|
# multiple labels to a cell. As a result, a Chain may have no more than
|
@@ -398,6 +412,7 @@ module Google
|
|
398
412
|
# `self` instance of interleave filter.
|
399
413
|
#
|
400
414
|
# @example
|
415
|
+
# require "google/cloud/bigtable"
|
401
416
|
#
|
402
417
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.label("user-detail")
|
403
418
|
#
|
@@ -417,6 +432,7 @@ module Google
|
|
417
432
|
# `self` instance of interleave filter.
|
418
433
|
#
|
419
434
|
# @example
|
435
|
+
# require "google/cloud/bigtable"
|
420
436
|
#
|
421
437
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.cells_per_row_offset(3)
|
422
438
|
#
|
@@ -425,7 +441,7 @@ module Google
|
|
425
441
|
end
|
426
442
|
|
427
443
|
##
|
428
|
-
# Adds a cells-per-row-limit filter
|
444
|
+
# Adds a cells-per-row-limit filter.
|
429
445
|
#
|
430
446
|
# Matches only the first N cells of each row.
|
431
447
|
# If duplicate cells are present, as is possible when using an interleave,
|
@@ -436,6 +452,7 @@ module Google
|
|
436
452
|
# `self` instance of interleave filter.
|
437
453
|
#
|
438
454
|
# @example
|
455
|
+
# require "google/cloud/bigtable"
|
439
456
|
#
|
440
457
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.cells_per_row(5)
|
441
458
|
#
|
@@ -444,7 +461,7 @@ module Google
|
|
444
461
|
end
|
445
462
|
|
446
463
|
##
|
447
|
-
# Adds a cells-per-column filter
|
464
|
+
# Adds a cells-per-column filter.
|
448
465
|
#
|
449
466
|
# Matches only the most recent N cells within each column. For example,
|
450
467
|
# if N=2, this filter would match column `foo:bar` at timestamps 10 and 9,
|
@@ -458,6 +475,7 @@ module Google
|
|
458
475
|
# `self` instance of interleave filter.
|
459
476
|
#
|
460
477
|
# @example
|
478
|
+
# require "google/cloud/bigtable"
|
461
479
|
#
|
462
480
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.cells_per_column(5)
|
463
481
|
#
|
@@ -466,7 +484,7 @@ module Google
|
|
466
484
|
end
|
467
485
|
|
468
486
|
##
|
469
|
-
# Adds a timestamp-range filter
|
487
|
+
# Adds a timestamp-range filter.
|
470
488
|
#
|
471
489
|
# Matches only cells with timestamps within the given range.
|
472
490
|
# Specifies a contiguous range of timestamps.
|
@@ -479,6 +497,7 @@ module Google
|
|
479
497
|
# `self` instance of interleave filter.
|
480
498
|
#
|
481
499
|
# @example
|
500
|
+
# require "google/cloud/bigtable"
|
482
501
|
#
|
483
502
|
# timestamp_micros = (Time.now.to_f * 1000000).round(-3)
|
484
503
|
# from = timestamp_micros - 300000000
|
@@ -491,7 +510,7 @@ module Google
|
|
491
510
|
end
|
492
511
|
|
493
512
|
##
|
494
|
-
# Adds a value-range filter
|
513
|
+
# Adds a value-range filter.
|
495
514
|
#
|
496
515
|
# Matches only cells with values that fall within the given range.
|
497
516
|
#
|
@@ -506,7 +525,7 @@ module Google
|
|
506
525
|
# @return [Google::Cloud::Bigtable::RowFilter::InterleaveFilter]
|
507
526
|
# `self` instance of interleave filter.
|
508
527
|
#
|
509
|
-
# @example Start to end range
|
528
|
+
# @example Start to end range.
|
510
529
|
# require "google/cloud/bigtable"
|
511
530
|
#
|
512
531
|
# bigtable = Google::Cloud::Bigtable.new
|
@@ -515,7 +534,7 @@ module Google
|
|
515
534
|
# range = table.new_value_range.from("value-001").to("value-005")
|
516
535
|
# filter = Google::Cloud::Bigtable::RowFilter.interleave.value_range(range)
|
517
536
|
#
|
518
|
-
# @example Start exlusive to infinite end range
|
537
|
+
# @example Start exlusive to infinite end range.
|
519
538
|
# require "google/cloud/bigtable"
|
520
539
|
#
|
521
540
|
# bigtable = Google::Cloud::Bigtable.new
|
@@ -529,7 +548,7 @@ module Google
|
|
529
548
|
end
|
530
549
|
|
531
550
|
##
|
532
|
-
# Adds a column-range filter
|
551
|
+
# Adds a column-range filter.
|
533
552
|
#
|
534
553
|
# Matches only cells from columns within the given range.
|
535
554
|
#
|
@@ -554,9 +573,10 @@ module Google
|
|
554
573
|
# @return [Integer]
|
555
574
|
#
|
556
575
|
# @example
|
576
|
+
# require "google/cloud/bigtable"
|
557
577
|
#
|
558
|
-
#
|
559
|
-
#
|
578
|
+
# filter = Google::Cloud::Bigtable::RowFilter.interleave.key("user-1*").label("user")
|
579
|
+
# filter.length # 2
|
560
580
|
#
|
561
581
|
def length
|
562
582
|
@filters.length
|
@@ -102,7 +102,7 @@ module Google
|
|
102
102
|
#
|
103
103
|
def sample probability
|
104
104
|
if probability >= 1 || probability <= 0
|
105
|
-
raise RowFilterError, "Probability must be
|
105
|
+
raise RowFilterError, "Probability must be greater than 0 and less than 1.0."
|
106
106
|
end
|
107
107
|
@grpc.row_sample_filter = probability
|
108
108
|
self
|
@@ -165,7 +165,7 @@ module Google
|
|
165
165
|
#
|
166
166
|
# Due to a technical limitation, it is not possible to apply
|
167
167
|
# multiple labels to a cell. As a result, a chain may have no more than
|
168
|
-
# one sub-filter
|
168
|
+
# one sub-filter that contains an `apply_label_transformer`. It is okay for
|
169
169
|
# an interleave to contain multiple `apply_label_transformers`, as they
|
170
170
|
# will be applied to separate copies of the input.
|
171
171
|
#
|
@@ -220,7 +220,7 @@ module Google
|
|
220
220
|
end
|
221
221
|
|
222
222
|
##
|
223
|
-
# Creates a timestamp-range filter
|
223
|
+
# Creates a timestamp-range filter.
|
224
224
|
#
|
225
225
|
# Matches only cells with timestamps within the given range.
|
226
226
|
# Specifies a contiguous range of timestamps.
|
@@ -23,7 +23,7 @@ module Google
|
|
23
23
|
# @private
|
24
24
|
# # RowsReader
|
25
25
|
#
|
26
|
-
#
|
26
|
+
# Retryable read rows helper
|
27
27
|
#
|
28
28
|
class RowsReader
|
29
29
|
# @private
|
@@ -106,7 +106,7 @@ module Google
|
|
106
106
|
end
|
107
107
|
|
108
108
|
##
|
109
|
-
#
|
109
|
+
# Calculates and returns the read rows limit and row set based on last read key.
|
110
110
|
#
|
111
111
|
# @param rows_limit [Integer]
|
112
112
|
# The read will terminate after committing to N rows' worth of results.
|
@@ -31,7 +31,7 @@ module Google
|
|
31
31
|
# Note: that row keys in this list may not have ever been written to or read
|
32
32
|
# from, and users should therefore not make any assumptions about the row key
|
33
33
|
# structure that are specific to their use case.
|
34
|
-
|
34
|
+
#
|
35
35
|
# * offset_bytes : Approximate total storage space used by all rows in the table which precede
|
36
36
|
# `row_key`. Buffering the contents of all rows between two subsequent
|
37
37
|
# samples would require space roughly equal to the difference in their
|
@@ -70,7 +70,7 @@ module Google
|
|
70
70
|
end
|
71
71
|
|
72
72
|
##
|
73
|
-
# The unique identifier for the project.
|
73
|
+
# The unique identifier for the project to which the table belongs.
|
74
74
|
#
|
75
75
|
# @return [String]
|
76
76
|
#
|
@@ -79,7 +79,7 @@ module Google
|
|
79
79
|
end
|
80
80
|
|
81
81
|
##
|
82
|
-
# The unique identifier for the instance.
|
82
|
+
# The unique identifier for the instance to which the table belongs.
|
83
83
|
#
|
84
84
|
# @return [String]
|
85
85
|
#
|
@@ -108,16 +108,16 @@ module Google
|
|
108
108
|
end
|
109
109
|
|
110
110
|
##
|
111
|
-
#
|
111
|
+
# Reloads table data.
|
112
112
|
#
|
113
113
|
# @param view [Symbol] Table view type.
|
114
|
-
# Default view type is `:SCHEMA_VIEW
|
114
|
+
# Default view type is `:SCHEMA_VIEW`.
|
115
115
|
# Valid view types are:
|
116
116
|
#
|
117
|
-
# * `:NAME_ONLY` - Only populates `name
|
118
|
-
# * `:SCHEMA_VIEW` - Only populates `name` and fields related to the table's schema
|
117
|
+
# * `:NAME_ONLY` - Only populates `name`.
|
118
|
+
# * `:SCHEMA_VIEW` - Only populates `name` and fields related to the table's schema.
|
119
119
|
# * `:REPLICATION_VIEW` - Only populates `name` and fields related to the table's replication state.
|
120
|
-
# * `:FULL` - Populates all fields
|
120
|
+
# * `:FULL` - Populates all fields.
|
121
121
|
#
|
122
122
|
# @return [Google::Cloud::Bigtable::Table]
|
123
123
|
#
|
@@ -132,7 +132,7 @@ module Google
|
|
132
132
|
# If it could not be determined whether or not the table has data in a
|
133
133
|
# particular cluster (for example, if its zone is unavailable), then
|
134
134
|
# there will be an entry for the cluster with UNKNOWN `replication_status`.
|
135
|
-
# Views: `FULL
|
135
|
+
# Views: `FULL`.
|
136
136
|
#
|
137
137
|
# @return [Array<Google::Cloud::Bigtable::Table::ClusterState>]
|
138
138
|
#
|
@@ -221,7 +221,7 @@ module Google
|
|
221
221
|
# The granularity (e.g. `MILLIS`, `MICROS`) at which timestamps are stored in
|
222
222
|
# this table. Timestamps not matching the granularity will be rejected.
|
223
223
|
# If unspecified at creation time, the value will be set to `MILLIS`.
|
224
|
-
# Views: `SCHEMA_VIEW`, `FULL
|
224
|
+
# Views: `SCHEMA_VIEW`, `FULL`.
|
225
225
|
#
|
226
226
|
# @return [Symbol]
|
227
227
|
#
|
@@ -334,7 +334,7 @@ module Google
|
|
334
334
|
# before this call started have been replicated. The tokens will be available
|
335
335
|
# for 90 days.
|
336
336
|
#
|
337
|
-
# @return [String]
|
337
|
+
# @return [String] The generated consistency token
|
338
338
|
#
|
339
339
|
# @example
|
340
340
|
# require "google/cloud/bigtable"
|
@@ -357,7 +357,7 @@ module Google
|
|
357
357
|
# considered consistent if replication has caught up based on the conditions
|
358
358
|
# specified in the token and the check request.
|
359
359
|
# @param token [String] Consistency token
|
360
|
-
# @return [Boolean]
|
360
|
+
# @return [Boolean] `true` if replication is consistent
|
361
361
|
#
|
362
362
|
# @example
|
363
363
|
# require "google/cloud/bigtable"
|
@@ -383,7 +383,7 @@ module Google
|
|
383
383
|
# Wait for replication to check replication consistency.
|
384
384
|
# Checks replication consistency by generating a consistency token and
|
385
385
|
# making the `check_consistency` API call 5 times (by default).
|
386
|
-
# If the response is consistent, returns true
|
386
|
+
# If the response is consistent, returns `true`. Otherwise tries again
|
387
387
|
# repeatedly until the timeout. If the check does not succeed by the
|
388
388
|
# timeout, returns `false`.
|
389
389
|
#
|
@@ -391,7 +391,7 @@ module Google
|
|
391
391
|
# Timeout in seconds. Defaults value is 600 seconds.
|
392
392
|
# @param check_interval [Integer]
|
393
393
|
# Consistency check interval in seconds. Default is 5 seconds.
|
394
|
-
# @return [Boolean]
|
394
|
+
# @return [Boolean] `true` if replication is consistent
|
395
395
|
#
|
396
396
|
# @example
|
397
397
|
# require "google/cloud/bigtable"
|
@@ -410,7 +410,7 @@ module Google
|
|
410
410
|
# end
|
411
411
|
#
|
412
412
|
def wait_for_replication timeout: 600, check_interval: 5
|
413
|
-
raise InvalidArgumentError, "'check_interval'
|
413
|
+
raise InvalidArgumentError, "'check_interval' cannot be greater than timeout" if check_interval > timeout
|
414
414
|
token = generate_consistency_token
|
415
415
|
status = false
|
416
416
|
start_at = Time.now
|
@@ -427,7 +427,7 @@ module Google
|
|
427
427
|
##
|
428
428
|
# Deletes all rows.
|
429
429
|
#
|
430
|
-
# @param timeout [Integer] Call timeout in seconds
|
430
|
+
# @param timeout [Integer] Call timeout in seconds.
|
431
431
|
# Use in case of insufficient deadline for DropRowRange, then
|
432
432
|
# try again with a longer request deadline.
|
433
433
|
# @return [Boolean]
|
@@ -451,8 +451,8 @@ module Google
|
|
451
451
|
##
|
452
452
|
# Deletes rows using row key prefix.
|
453
453
|
#
|
454
|
-
# @param prefix [String] Row key prefix (for example, "user")
|
455
|
-
# @param timeout [Integer] Call timeout in seconds
|
454
|
+
# @param prefix [String] Row key prefix (for example, "user").
|
455
|
+
# @param timeout [Integer] Call timeout in seconds.
|
456
456
|
# @return [Boolean]
|
457
457
|
# @example
|
458
458
|
# require "google/cloud/bigtable"
|
@@ -473,7 +473,7 @@ module Google
|
|
473
473
|
##
|
474
474
|
# Drops row range by row key prefix or deletes all.
|
475
475
|
#
|
476
|
-
# @param row_key_prefix [String] Row key prefix (for example, "user")
|
476
|
+
# @param row_key_prefix [String] Row key prefix (for example, "user").
|
477
477
|
# @param delete_all_data [Boolean]
|
478
478
|
# @return [Boolean]
|
479
479
|
#
|