aerospike 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/aerospike.rb +2 -0
- data/lib/aerospike/client.rb +4 -5
- data/lib/aerospike/cluster/connection.rb +2 -3
- data/lib/aerospike/command/batch_command_exists.rb +1 -1
- data/lib/aerospike/command/batch_command_get.rb +1 -1
- data/lib/aerospike/command/command.rb +31 -18
- data/lib/aerospike/command/execute_command.rb +1 -1
- data/lib/aerospike/command/exists_command.rb +1 -1
- data/lib/aerospike/command/read_command.rb +1 -1
- data/lib/aerospike/command/read_header_command.rb +1 -1
- data/lib/aerospike/policy/commit_level.rb +28 -0
- data/lib/aerospike/policy/consistency_level.rb +28 -0
- data/lib/aerospike/policy/policy.rb +8 -2
- data/lib/aerospike/policy/write_policy.rb +8 -2
- data/lib/aerospike/query/query_command.rb +2 -2
- data/lib/aerospike/query/statement.rb +11 -1
- data/lib/aerospike/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3befa3762779a41284c82d7d1c91071b2d808ba
|
4
|
+
data.tar.gz: e68d7474c1cc4f87b2b4e1ae2dc1f9cf6ce5363b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0670ec0132babe9a91821511c0303c866dd058d35c9e7e6dada688c20ce3d85ae44af4d29734200f8879d95530d94e8d2feff203ddce8f45f034ece463457d0f
|
7
|
+
data.tar.gz: 6a7ec991acdee8ae19227a33ec72f73bf11a845533032e9555cd3538c362f2398c4e09c2ff0ad5fe55cb60bfcdcbc33a3ace4ab72c93e7c43464f42174772d48
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## Dec 28 2014 (0.1.6)
|
2
|
+
|
3
|
+
Minor features added, minor fixes and improvements.
|
4
|
+
|
5
|
+
* **New Features**:
|
6
|
+
|
7
|
+
* Added `Policy.consistency_level`
|
8
|
+
* Added `WritePolicy.commit_level`
|
9
|
+
|
10
|
+
* **Fixes**
|
11
|
+
|
12
|
+
* Fixed setting timeout on connection
|
13
|
+
* Fixed exception handling typo for Connection#write
|
14
|
+
|
1
15
|
## Dec 8 2014 (0.1.5)
|
2
16
|
|
3
17
|
Major features added, minor fixes and improvements.
|
data/lib/aerospike.rb
CHANGED
@@ -46,6 +46,8 @@ require 'aerospike/policy/policy'
|
|
46
46
|
require 'aerospike/policy/write_policy'
|
47
47
|
require 'aerospike/policy/scan_policy'
|
48
48
|
require 'aerospike/policy/query_policy'
|
49
|
+
require 'aerospike/policy/consistency_level'
|
50
|
+
require 'aerospike/policy/commit_level'
|
49
51
|
|
50
52
|
require 'aerospike/cluster/connection'
|
51
53
|
require 'aerospike/cluster/cluster'
|
data/lib/aerospike/client.rb
CHANGED
@@ -669,9 +669,6 @@ module Aerospike
|
|
669
669
|
policy = opt_to_query_policy(options)
|
670
670
|
new_policy = policy.clone
|
671
671
|
|
672
|
-
# Always set a taskId
|
673
|
-
statement.task_id = Time.now.to_i if statement.task_id == 0
|
674
|
-
|
675
672
|
nodes = @cluster.nodes
|
676
673
|
if nodes.length == 0
|
677
674
|
raise Aerospike::Exceptions::Aerospike.new(Aerospike::ResultCode::SERVER_NOT_AVAILABLE, "Scan failed because cluster is empty.")
|
@@ -726,7 +723,7 @@ module Aerospike
|
|
726
723
|
ClientPolicy.new(
|
727
724
|
options[:timeout],
|
728
725
|
options[:connection_queue_size],
|
729
|
-
options[:fail_if_not_connected]
|
726
|
+
options[:fail_if_not_connected]
|
730
727
|
)
|
731
728
|
end
|
732
729
|
end
|
@@ -742,6 +739,7 @@ module Aerospike
|
|
742
739
|
options[:timeout],
|
743
740
|
options[:max_retiries],
|
744
741
|
options[:sleep_between_retries],
|
742
|
+
options[:consistency_level]
|
745
743
|
)
|
746
744
|
end
|
747
745
|
end
|
@@ -757,7 +755,8 @@ module Aerospike
|
|
757
755
|
options[:gen_policy],
|
758
756
|
options[:generation],
|
759
757
|
options[:expiration],
|
760
|
-
options[:send_key]
|
758
|
+
options[:send_key],
|
759
|
+
options[:commit_level]
|
761
760
|
)
|
762
761
|
end
|
763
762
|
end
|
@@ -51,7 +51,7 @@ module Aerospike
|
|
51
51
|
begin
|
52
52
|
written = @socket.write_nonblock(buffer.read(total, length - total))
|
53
53
|
total += written
|
54
|
-
rescue IO::
|
54
|
+
rescue IO::WaitWritable, Errno::EAGAIN
|
55
55
|
IO.select(nil, [@socket])
|
56
56
|
retry
|
57
57
|
rescue => e
|
@@ -92,8 +92,7 @@ module Aerospike
|
|
92
92
|
def timeout=(timeout)
|
93
93
|
if timeout > 0 && timeout != @timeout
|
94
94
|
@timeout = timeout
|
95
|
-
|
96
|
-
if IO.select(nil, nil, nil, timeout.to_f)
|
95
|
+
if IO.select([@socket], [@socket], [@socket], timeout.to_f)
|
97
96
|
begin
|
98
97
|
# Verify there is now a good connection
|
99
98
|
@socket.connect_nonblock(@sockaddr)
|
@@ -21,6 +21,9 @@ require 'msgpack'
|
|
21
21
|
require 'aerospike/result_code'
|
22
22
|
require 'aerospike/command/field_type'
|
23
23
|
|
24
|
+
require 'aerospike/policy/consistency_level'
|
25
|
+
require 'aerospike/policy/commit_level'
|
26
|
+
|
24
27
|
module Aerospike
|
25
28
|
|
26
29
|
private
|
@@ -34,6 +37,9 @@ module Aerospike
|
|
34
37
|
# Do not read the bins
|
35
38
|
INFO1_NOBINDATA = Integer(1 << 5)
|
36
39
|
|
40
|
+
# Involve all replicas in read operation.
|
41
|
+
INFO1_CONSISTENCY_ALL = Integer(1 << 6)
|
42
|
+
|
37
43
|
# Create or update record
|
38
44
|
INFO2_WRITE = Integer(1 << 0)
|
39
45
|
# Fling a record into the belly of Moloch.
|
@@ -49,6 +55,8 @@ module Aerospike
|
|
49
55
|
|
50
56
|
# This is the last of a multi-part message.
|
51
57
|
INFO3_LAST = Integer(1 << 0)
|
58
|
+
# Commit to master only before declaring success.
|
59
|
+
INFO3_COMMIT_MASTER = Integer(1 << 1)
|
52
60
|
# Update only. Merge bins.
|
53
61
|
INFO3_UPDATE_ONLY = Integer(1 << 3)
|
54
62
|
|
@@ -127,27 +135,27 @@ module Aerospike
|
|
127
135
|
end
|
128
136
|
|
129
137
|
# Writes the command for exist operations
|
130
|
-
def set_exists(key)
|
138
|
+
def set_exists(policy, key)
|
131
139
|
begin_cmd
|
132
140
|
field_count = estimate_key_size(key)
|
133
141
|
size_buffer
|
134
|
-
write_header(INFO1_READ|INFO1_NOBINDATA, 0, field_count, 0)
|
142
|
+
write_header(policy, INFO1_READ|INFO1_NOBINDATA, 0, field_count, 0)
|
135
143
|
write_key(key)
|
136
144
|
end_cmd
|
137
145
|
end
|
138
146
|
|
139
147
|
# Writes the command for get operations (all bins)
|
140
|
-
def set_read_for_key_only(key)
|
148
|
+
def set_read_for_key_only(policy, key)
|
141
149
|
begin_cmd
|
142
150
|
field_count = estimate_key_size(key)
|
143
151
|
size_buffer
|
144
|
-
write_header(INFO1_READ|INFO1_GET_ALL, 0, field_count, 0)
|
152
|
+
write_header(policy, INFO1_READ|INFO1_GET_ALL, 0, field_count, 0)
|
145
153
|
write_key(key)
|
146
154
|
end_cmd
|
147
155
|
end
|
148
156
|
|
149
157
|
# Writes the command for get operations (specified bins)
|
150
|
-
def set_read(key, bin_names)
|
158
|
+
def set_read(policy, key, bin_names)
|
151
159
|
if bin_names && bin_names.length > 0
|
152
160
|
begin_cmd
|
153
161
|
field_count = estimate_key_size(key)
|
@@ -157,7 +165,7 @@ module Aerospike
|
|
157
165
|
end
|
158
166
|
|
159
167
|
size_buffer
|
160
|
-
write_header(INFO1_READ, 0, field_count, bin_names.length)
|
168
|
+
write_header(policy, INFO1_READ, 0, field_count, bin_names.length)
|
161
169
|
write_key(key)
|
162
170
|
|
163
171
|
bin_names.each do |bin_name|
|
@@ -166,12 +174,12 @@ module Aerospike
|
|
166
174
|
|
167
175
|
end_cmd
|
168
176
|
else
|
169
|
-
set_read_for_key_only(key)
|
177
|
+
set_read_for_key_only(policy, key)
|
170
178
|
end
|
171
179
|
end
|
172
180
|
|
173
181
|
# Writes the command for getting metadata operations
|
174
|
-
def set_read_header(key)
|
182
|
+
def set_read_header(policy, key)
|
175
183
|
begin_cmd
|
176
184
|
field_count = estimate_key_size(key)
|
177
185
|
estimate_operation_size_for_bin_name('')
|
@@ -181,7 +189,7 @@ module Aerospike
|
|
181
189
|
# The workaround is to request a non-existent bin.
|
182
190
|
# TODO: Fix this on server.
|
183
191
|
#command.set_read(INFO1_READ | _INFO1_NOBINDATA);
|
184
|
-
write_header(INFO1_READ, 0, field_count, 1)
|
192
|
+
write_header(policy, INFO1_READ, 0, field_count, 1)
|
185
193
|
|
186
194
|
write_key(key)
|
187
195
|
write_operation_for_bin_name('', Aerospike::Operation::READ)
|
@@ -223,7 +231,7 @@ module Aerospike
|
|
223
231
|
if write_attr != 0
|
224
232
|
write_header_with_policy(policy, read_attr, write_attr, field_count, operations.length)
|
225
233
|
else
|
226
|
-
write_header(read_attr, write_attr, field_count, operations.length)
|
234
|
+
write_header(policy, read_attr, write_attr, field_count, operations.length)
|
227
235
|
end
|
228
236
|
write_key(key)
|
229
237
|
|
@@ -236,7 +244,7 @@ module Aerospike
|
|
236
244
|
end_cmd
|
237
245
|
end
|
238
246
|
|
239
|
-
def set_udf(key, package_name, function_name, args)
|
247
|
+
def set_udf(policy, key, package_name, function_name, args)
|
240
248
|
begin_cmd
|
241
249
|
field_count = estimate_key_size(key)
|
242
250
|
arg_bytes = args.to_bytes
|
@@ -244,7 +252,7 @@ module Aerospike
|
|
244
252
|
field_count += estimate_udf_size(package_name, function_name, arg_bytes)
|
245
253
|
size_buffer
|
246
254
|
|
247
|
-
write_header(0, INFO2_WRITE, field_count, 0)
|
255
|
+
write_header(policy, 0, INFO2_WRITE, field_count, 0)
|
248
256
|
write_key(key)
|
249
257
|
write_field_string(package_name, Aerospike::FieldType::UDF_PACKAGE_NAME)
|
250
258
|
write_field_string(function_name, Aerospike::FieldType::UDF_FUNCTION)
|
@@ -253,7 +261,7 @@ module Aerospike
|
|
253
261
|
end_cmd
|
254
262
|
end
|
255
263
|
|
256
|
-
def set_batch_exists(batch_namespace)
|
264
|
+
def set_batch_exists(policy, batch_namespace)
|
257
265
|
# Estimate buffer size
|
258
266
|
begin_cmd
|
259
267
|
keys = batch_namespace.keys
|
@@ -264,7 +272,7 @@ module Aerospike
|
|
264
272
|
|
265
273
|
size_buffer
|
266
274
|
|
267
|
-
write_header(INFO1_READ|INFO1_NOBINDATA, 0, 2, 0)
|
275
|
+
write_header(policy, INFO1_READ|INFO1_NOBINDATA, 0, 2, 0)
|
268
276
|
write_field_string(batch_namespace.namespace, Aerospike::FieldType::NAMESPACE)
|
269
277
|
write_field_header(byte_size, Aerospike::FieldType::DIGEST_RIPE_ARRAY)
|
270
278
|
|
@@ -275,7 +283,7 @@ module Aerospike
|
|
275
283
|
end_cmd
|
276
284
|
end
|
277
285
|
|
278
|
-
def set_batch_get(batch_namespace, bin_names, read_attr)
|
286
|
+
def set_batch_get(policy, batch_namespace, bin_names, read_attr)
|
279
287
|
# Estimate buffer size
|
280
288
|
begin_cmd
|
281
289
|
byte_size = batch_namespace.keys.length * DIGEST_SIZE
|
@@ -296,7 +304,7 @@ module Aerospike
|
|
296
304
|
operation_count = bin_names.length
|
297
305
|
end
|
298
306
|
|
299
|
-
write_header(read_attr, 0, 2, operation_count)
|
307
|
+
write_header(policy, read_attr, 0, 2, operation_count)
|
300
308
|
write_field_string(batch_namespace.namespace, Aerospike::FieldType::NAMESPACE)
|
301
309
|
write_field_header(byte_size, Aerospike::FieldType::DIGEST_RIPE_ARRAY)
|
302
310
|
|
@@ -351,7 +359,7 @@ module Aerospike
|
|
351
359
|
operation_count = bin_names.length
|
352
360
|
end
|
353
361
|
|
354
|
-
write_header(read_attr, 0, field_count, operation_count)
|
362
|
+
write_header(policy, read_attr, 0, field_count, operation_count)
|
355
363
|
|
356
364
|
if namespace
|
357
365
|
write_field_string(namespace, Aerospike::FieldType::NAMESPACE)
|
@@ -534,7 +542,9 @@ module Aerospike
|
|
534
542
|
end
|
535
543
|
|
536
544
|
# Generic header write.
|
537
|
-
def write_header(read_attr, write_attr, field_count, operation_count)
|
545
|
+
def write_header(policy, read_attr, write_attr, field_count, operation_count)
|
546
|
+
read_attr |= INFO1_CONSISTENCY_ALL if policy.consistency_level == Aerospike::ConsistencyLevel::CONSISTENCY_ALL
|
547
|
+
|
538
548
|
# Write all header data except total size which must be written last.
|
539
549
|
@data_buffer.write_byte(MSG_REMAINING_HEADER_SIZE, 8) # Message heade.length.
|
540
550
|
@data_buffer.write_byte(read_attr, 9)
|
@@ -581,6 +591,9 @@ module Aerospike
|
|
581
591
|
write_attr |= INFO2_GENERATION_DUP
|
582
592
|
end
|
583
593
|
|
594
|
+
info_attr |= INFO3_COMMIT_MASTER if policy.commit_level == Aerospike::CommitLevel::COMMIT_MASTER
|
595
|
+
read_attr |= INFO1_CONSISTENCY_ALL if policy.consistency_level == Aerospike::ConsistencyLevel::CONSISTENCY_ALL
|
596
|
+
|
584
597
|
# Write all header data except total size which must be written last.
|
585
598
|
@data_buffer.write_byte(MSG_REMAINING_HEADER_SIZE, 8) # Message heade.length.
|
586
599
|
@data_buffer.write_byte(read_attr, 9)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Copyright 2014 Aerospike, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http:#www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
16
|
+
module Aerospike
|
17
|
+
|
18
|
+
module CommitLevel
|
19
|
+
|
20
|
+
# Server should wait until successfully committing master and all replicas.
|
21
|
+
COMMIT_ALL = 0
|
22
|
+
|
23
|
+
# Server should wait until successfully committing master only.
|
24
|
+
COMMIT_MASTER = 1
|
25
|
+
|
26
|
+
end # module
|
27
|
+
|
28
|
+
end # module
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Copyright 2014 Aerospike, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http:#www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
16
|
+
module Aerospike
|
17
|
+
|
18
|
+
module ConsistencyLevel
|
19
|
+
|
20
|
+
# Involve a single replica in the operation.
|
21
|
+
CONSISTENCY_ONE = 0
|
22
|
+
|
23
|
+
# Involve all replicas in the operation.
|
24
|
+
CONSISTENCY_ALL = 1
|
25
|
+
|
26
|
+
end # module
|
27
|
+
|
28
|
+
end # module
|
@@ -14,6 +14,7 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
16
|
require 'aerospike/policy/priority'
|
17
|
+
require 'aerospike/policy/consistency_level'
|
17
18
|
|
18
19
|
|
19
20
|
module Aerospike
|
@@ -21,9 +22,9 @@ module Aerospike
|
|
21
22
|
# Container object for client policy command.
|
22
23
|
class Policy
|
23
24
|
|
24
|
-
attr_accessor :priority, :timeout, :max_retries, :sleep_between_retries
|
25
|
+
attr_accessor :priority, :timeout, :max_retries, :sleep_between_retries, :consistency_level
|
25
26
|
|
26
|
-
def initialize(priority=nil, timeout=nil, max_retiries=nil, sleep_between_retries=nil)
|
27
|
+
def initialize(priority=nil, timeout=nil, max_retiries=nil, sleep_between_retries=nil, consistency_level=nil)
|
27
28
|
# Container object for transaction policy attributes used in all database
|
28
29
|
# operation calls.
|
29
30
|
|
@@ -31,6 +32,11 @@ module Aerospike
|
|
31
32
|
# Currently, only used for scans.
|
32
33
|
@priority = priority || Priority::DEFAULT
|
33
34
|
|
35
|
+
# How replicas should be consulted in a read operation to provide the desired
|
36
|
+
# consistency guarantee. Default to allowing one replica to be used in the
|
37
|
+
# read operation.
|
38
|
+
@consistency_level = consistency_level || Aerospike::ConsistencyLevel::CONSISTENCY_ONE
|
39
|
+
|
34
40
|
# Transaction timeout.
|
35
41
|
# This timeout is used to set the socket timeout and is also sent to the
|
36
42
|
# server along with the transaction in the wire protocol.
|
@@ -14,6 +14,7 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
16
|
require 'aerospike/policy/policy'
|
17
|
+
require 'aerospike/policy/commit_level'
|
17
18
|
require 'aerospike/policy/generation_policy'
|
18
19
|
require 'aerospike/policy/record_exists_action'
|
19
20
|
|
@@ -23,9 +24,9 @@ module Aerospike
|
|
23
24
|
class WritePolicy < Policy
|
24
25
|
|
25
26
|
attr_accessor :record_exists_action, :generation_policy,
|
26
|
-
:generation, :expiration, :send_key
|
27
|
+
:generation, :expiration, :send_key, :commit_level
|
27
28
|
|
28
|
-
def initialize(record_exists_action=nil, gen_policy=nil, generation=nil, expiration=nil, send_key=nil)
|
29
|
+
def initialize(record_exists_action=nil, gen_policy=nil, generation=nil, expiration=nil, send_key=nil, commit_level=nil)
|
29
30
|
super()
|
30
31
|
|
31
32
|
# Qualify how to handle writes where the record already exists.
|
@@ -35,6 +36,11 @@ module Aerospike
|
|
35
36
|
# indicates that the generation is not used to restrict writes.
|
36
37
|
@generation_policy = gen_policy || GenerationPolicy::NONE
|
37
38
|
|
39
|
+
# Desired consistency guarantee when committing a transaction on the server. The default
|
40
|
+
# (COMMIT_ALL) indicates that the server should wait for master and all replica commits to
|
41
|
+
# be successful before returning success to the client.
|
42
|
+
@commit_level = commit_level || Aerospike::CommitLevel::COMMIT_ALL
|
43
|
+
|
38
44
|
# Expected generation. Generation is the number of times a record has been modified
|
39
45
|
# (including creation) on the server. If a write operation is creating a record,
|
40
46
|
# the expected generation would be 0
|
@@ -81,7 +81,7 @@ module Aerospike
|
|
81
81
|
fieldCount+=1
|
82
82
|
end
|
83
83
|
|
84
|
-
@statement.
|
84
|
+
@statement.set_task_id
|
85
85
|
|
86
86
|
@data_offset += 8 + FIELD_HEADER_SIZE
|
87
87
|
fieldCount+=1
|
@@ -113,7 +113,7 @@ module Aerospike
|
|
113
113
|
readAttr = INFO1_READ
|
114
114
|
operation_count = (@statement.filters.to_a.length == 0 && @statement.bin_names.to_a.length == 0) ? @statement.bin_names.length : 0
|
115
115
|
|
116
|
-
write_header(readAttr, 0, fieldCount, operation_count)
|
116
|
+
write_header(@policy, readAttr, 0, fieldCount, operation_count)
|
117
117
|
|
118
118
|
if @statement.namespace
|
119
119
|
write_field_string(@statement.namespace, Aerospike::FieldType::NAMESPACE)
|
@@ -48,7 +48,7 @@ module Aerospike
|
|
48
48
|
@function_args = nil
|
49
49
|
|
50
50
|
# TaskId determines query task id. (Optional)
|
51
|
-
@task_id =
|
51
|
+
@task_id = rand(RAND_MAX)
|
52
52
|
|
53
53
|
# determines if the query should return data
|
54
54
|
@return_data = true
|
@@ -65,6 +65,16 @@ module Aerospike
|
|
65
65
|
return (filters.nil? || (filters.empty?))
|
66
66
|
end
|
67
67
|
|
68
|
+
def set_task_id
|
69
|
+
while @task_id == 0
|
70
|
+
@task_id = rand(RAND_MAX)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
RAND_MAX = 2**63
|
77
|
+
|
68
78
|
end # class
|
69
79
|
|
70
80
|
end
|
data/lib/aerospike/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aerospike
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Khosrow Afroozeh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: atomic
|
@@ -90,6 +90,8 @@ files:
|
|
90
90
|
- lib/aerospike/operation.rb
|
91
91
|
- lib/aerospike/policy/batch_policy.rb
|
92
92
|
- lib/aerospike/policy/client_policy.rb
|
93
|
+
- lib/aerospike/policy/commit_level.rb
|
94
|
+
- lib/aerospike/policy/consistency_level.rb
|
93
95
|
- lib/aerospike/policy/generation_policy.rb
|
94
96
|
- lib/aerospike/policy/policy.rb
|
95
97
|
- lib/aerospike/policy/priority.rb
|