Esempio n. 1
0
        public void CreateClientWithEmptyOptions()
        {
            GoogleCredential credential = GoogleCredential.GetApplicationDefault();

            invoker = new GcpCallInvoker(Target, credential.ToChannelCredentials());
            client  = new Bigtable.BigtableClient(invoker);

            MutateRowRequest mutateRowRequest = new MutateRowRequest
            {
                TableName = TableName,
                RowKey    = ByteString.CopyFromUtf8(RowKey)
            };

            Mutation mutation = new Mutation
            {
                SetCell = new Mutation.Types.SetCell
                {
                    FamilyName      = ColumnFamily,
                    ColumnQualifier = ByteString.CopyFromUtf8(ColumnQualifier),
                    Value           = ByteString.CopyFromUtf8(TestValue),
                }
            };

            mutateRowRequest.Mutations.Add(mutation);

            client.MutateRow(mutateRowRequest);
            Assert.AreEqual(1, invoker.GetChannelRefsForTest().Count);
        }
Esempio n. 2
0
        public void MutateRowAsync()
        {
            MutateRowRequest mutateRowRequest = new MutateRowRequest
            {
                TableName = TableName,
                RowKey    = ByteString.CopyFromUtf8(RowKey),
            };

            Mutation mutation = new Mutation
            {
                SetCell = new Mutation.Types.SetCell
                {
                    FamilyName      = ColumnFamily,
                    ColumnQualifier = ByteString.CopyFromUtf8(ColumnQualifier),
                    Value           = ByteString.CopyFromUtf8(TestValue),
                }
            };

            mutateRowRequest.Mutations.Add(mutation);

            AsyncUnaryCall <MutateRowResponse> call = client.MutateRowAsync(mutateRowRequest);
            var channelRefs = invoker.GetChannelRefsForTest();

            Assert.AreEqual(1, channelRefs.Count);
            Assert.AreEqual(1, channelRefs[0].ActiveStreamCount);

            MutateRowResponse response = call.ResponseAsync.Result;

            channelRefs = invoker.GetChannelRefsForTest();
            Assert.AreEqual(0, channelRefs[0].ActiveStreamCount);
        }
        public void IdempotentCheckOnMutateRowRequest()
        {
            var setCell =
                Mutations.SetCell("abc", "cq1", "value", new BigtableVersion(-1));
            var deleteFromColumn =
                Mutations.DeleteFromColumn("abc", "def", new BigtableVersionRange(-1, -1));
            var request = new MutateRowRequest
            {
                Mutations =
                {
                    Mutations.DeleteFromRow(),
                    setCell,
                    deleteFromColumn,
                    Mutations.DeleteFromFamily("abc")
                }
            };

            Assert.True(request.IsIdempotent());

            deleteFromColumn.DeleteFromColumn.TimeRange.StartTimestampMicros = -1;
            deleteFromColumn.DeleteFromColumn.TimeRange.EndTimestampMicros   = -1;
            Assert.True(request.IsIdempotent());

            setCell.SetCell.TimestampMicros = -1;
            Assert.False(request.IsIdempotent());
        }
Esempio n. 4
0
        public void RunMaxConcurrentStreams()
        {
            PrepareTestData();

            var calls = new List <AsyncServerStreamingCall <ReadRowsResponse> >();

            for (int i = 0; i < numStreamCalls; i++)
            {
                var streamingCall = client.ReadRows(
                    new ReadRowsRequest
                {
                    TableName = TableName,
                    Rows      = new RowSet
                    {
                        RowKeys = { ByteString.CopyFromUtf8("large-row") }
                    }
                });
                calls.Add(streamingCall);
            }
            Console.WriteLine(String.Format("Created {0} streaming calls.", numStreamCalls));

            CancellationTokenSource tokenSource = new CancellationTokenSource();
            CancellationToken       token       = tokenSource.Token;

            Console.WriteLine("Starting UnaryUnary blocking call..");
            var watch = System.Diagnostics.Stopwatch.StartNew();
            MutateRowRequest mutateRowRequest = new MutateRowRequest
            {
                TableName = TableName,
                RowKey    = ByteString.CopyFromUtf8(RowKey)
            };

            Mutation mutation = new Mutation
            {
                SetCell = new Mutation.Types.SetCell
                {
                    FamilyName      = ColumnFamily,
                    ColumnQualifier = ByteString.CopyFromUtf8(ColumnQualifier),
                    Value           = ByteString.CopyFromUtf8(TestValue),
                }
            };

            mutateRowRequest.Mutations.Add(mutation);

            // Set 5 sec time out for the blocking call.
            client.MutateRow(mutateRowRequest, null, DateTime.UtcNow.AddSeconds(5));

            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            Console.WriteLine("Elapsed time for another call (ms): " + elapsedMs);
        }
Esempio n. 5
0
        protected override async Task SaveAsync(SnapshotMetadata metadata, object snapshot)
        {
            var snapshotBytes = SnapshotToBytes(metadata, snapshot, Context.System);

            byte[] snapshotMetadataBytes = SnapshotMetadataToBytes(metadata);
            var    request = new MutateRowRequest();
            var    version = new BigtableVersion(metadata.Timestamp.ToUniversalTime());

            request.TableNameAsTableName = _tableName;
            request.Mutations.Add(Mutations.SetCell(_family, SnapshotColumnQualifier, ByteString.CopyFrom(snapshotBytes), version));
            request.Mutations.Add(Mutations.SetCell(_family, SnapshotMetaDataColumnQualifier, ByteString.CopyFrom(snapshotMetadataBytes), version));
            request.RowKey = GetRowKey(metadata.PersistenceId, metadata.SequenceNr);
            await _bigtableClient.MutateRowAsync(request).ConfigureAwait(false);
        }
Esempio n. 6
0
        public async Task WriteRowAsync(string tableName, byte[] key, IEnumerable <BigChange> changes, CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken = cancellationToken == default(CancellationToken) ? CancellationToken.None : cancellationToken;

            var request = new MutateRowRequest
            {
                RowKey    = key.ToByteString(),
                TableName = tableName.ToTableId(ClusterId),
                Mutations = { changes.Select(change => change.AsApiObject()) }
            };
            await _client.MutateRowAsync(request, cancellationToken : cancellationToken);

            await Task.Yield();
        }
Esempio n. 7
0
 /// <summary>Snippet for MutateRow</summary>
 /// <remarks>
 /// This snippet has been automatically generated for illustrative purposes only.
 /// It may require modifications to work in your environment.
 /// </remarks>
 public void MutateRowRequestObject()
 {
     // Create client
     BigtableClient bigtableClient = BigtableClient.Create();
     // Initialize request argument(s)
     MutateRowRequest request = new MutateRowRequest
     {
         TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey       = ByteString.Empty,
         Mutations    = { new Mutation(), },
         AppProfileId = "",
     };
     // Make the request
     MutateRowResponse response = bigtableClient.MutateRow(request);
 }
 /// <summary>Snippet for MutateRow</summary>
 public void MutateRow_RequestObject()
 {
     // Snippet: MutateRow(MutateRowRequest,CallSettings)
     // Create client
     BigtableServiceApiClient bigtableServiceApiClient = BigtableServiceApiClient.Create();
     // Initialize request argument(s)
     MutateRowRequest request = new MutateRowRequest
     {
         TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey    = ByteString.Empty,
         Mutations = { },
     };
     // Make the request
     MutateRowResponse response = bigtableServiceApiClient.MutateRow(request);
     // End snippet
 }
Esempio n. 9
0
 /// <summary>Snippet for MutateRowAsync</summary>
 public async Task MutateRowAsync_RequestObject()
 {
     // Snippet: MutateRowAsync(MutateRowRequest,CallSettings)
     // Additional: MutateRowAsync(MutateRowRequest,CancellationToken)
     // Create client
     BigtableServiceApiClient bigtableServiceApiClient = await BigtableServiceApiClient.CreateAsync();
     // Initialize request argument(s)
     MutateRowRequest request = new MutateRowRequest
     {
         TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
         RowKey = ByteString.Empty,
         Mutations = { },
     };
     // Make the request
     MutateRowResponse response = await bigtableServiceApiClient.MutateRowAsync(request);
     // End snippet
 }
        public async Task MutateRowAsync_RequestObject()
        {
            // Snippet: MutateRowAsync(MutateRowRequest,CallSettings)
            // Create client
            BigtableClient bigtableClient = await BigtableClient.CreateAsync();

            // Initialize request argument(s)
            MutateRowRequest request = new MutateRowRequest
            {
                TableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]").ToString(),
                RowKey    = ByteString.CopyFromUtf8(""),
                Mutations = { },
            };
            // Make the request
            MutateRowResponse response = await bigtableClient.MutateRowAsync(request);

            // End snippet
        }
        public void MutateRow2()
        {
            Mock <Bigtable.BigtableClient> mockGrpcClient = new Mock <Bigtable.BigtableClient>(MockBehavior.Strict);
            MutateRowRequest request = new MutateRowRequest
            {
                TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey    = ByteString.CopyFromUtf8("122"),
                Mutations = { },
            };
            MutateRowResponse expectedResponse = new MutateRowResponse();

            mockGrpcClient.Setup(x => x.MutateRow(request, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            BigtableServiceApiClient client   = new BigtableServiceApiClientImpl(mockGrpcClient.Object, null);
            MutateRowResponse        response = client.MutateRow(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public void MutateRow1()
        {
            moq::Mock <Bigtable.BigtableClient> mockGrpcClient = new moq::Mock <Bigtable.BigtableClient>(moq::MockBehavior.Strict);
            MutateRowRequest request = new MutateRowRequest
            {
                TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey    = proto::ByteString.CopyFromUtf8("row_key7adfb7cb"),
                Mutations = { new Mutation(), },
            };
            MutateRowResponse expectedResponse = new MutateRowResponse {
            };

            mockGrpcClient.Setup(x => x.MutateRow(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            BigtableClient    client   = new BigtableClientImpl(mockGrpcClient.Object, null);
            MutateRowResponse response = client.MutateRow(request.TableName, request.RowKey, request.Mutations);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Esempio n. 13
0
        /// <summary>Snippet for MutateRowAsync</summary>
        public async Task MutateRowRequestObjectAsync()
        {
            // Snippet: MutateRowAsync(MutateRowRequest, CallSettings)
            // Additional: MutateRowAsync(MutateRowRequest, CancellationToken)
            // Create client
            BigtableClient bigtableClient = await BigtableClient.CreateAsync();

            // Initialize request argument(s)
            MutateRowRequest request = new MutateRowRequest
            {
                TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey       = ByteString.Empty,
                Mutations    = { new Mutation(), },
                AppProfileId = "",
            };
            // Make the request
            MutateRowResponse response = await bigtableClient.MutateRowAsync(request);

            // End snippet
        }
        public void MutateRowRequestObject()
        {
            moq::Mock <Bigtable.BigtableClient> mockGrpcClient = new moq::Mock <Bigtable.BigtableClient>(moq::MockBehavior.Strict);
            MutateRowRequest request = new MutateRowRequest
            {
                TableNameAsTableName = new gcbcv::TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey       = proto::ByteString.CopyFromUtf8("row_key7adfb7cb"),
                Mutations    = { new Mutation(), },
                AppProfileId = "app_profile_id57fb0442",
            };
            MutateRowResponse expectedResponse = new MutateRowResponse {
            };

            mockGrpcClient.Setup(x => x.MutateRow(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            BigtableServiceApiClient client   = new BigtableServiceApiClientImpl(mockGrpcClient.Object, null);
            MutateRowResponse        response = client.MutateRow(request);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public async stt::Task MutateRow1Async()
        {
            moq::Mock <Bigtable.BigtableClient> mockGrpcClient = new moq::Mock <Bigtable.BigtableClient>(moq::MockBehavior.Strict);
            MutateRowRequest request = new MutateRowRequest
            {
                TableNameAsTableName = TableName.FromProjectInstanceTable("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey    = proto::ByteString.CopyFromUtf8("row_key7adfb7cb"),
                Mutations = { new Mutation(), },
            };
            MutateRowResponse expectedResponse = new MutateRowResponse {
            };

            mockGrpcClient.Setup(x => x.MutateRowAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <MutateRowResponse>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            BigtableClient    client = new BigtableClientImpl(mockGrpcClient.Object, null);
            MutateRowResponse responseCallSettings = await client.MutateRowAsync(request.TableName, request.RowKey, request.Mutations, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            MutateRowResponse responseCancellationToken = await client.MutateRowAsync(request.TableName, request.RowKey, request.Mutations, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
        public async Task MutateRowAsync()
        {
            Mock <Bigtable.BigtableClient> mockGrpcClient = new Mock <Bigtable.BigtableClient>(MockBehavior.Strict);
            MutateRowRequest expectedRequest = new MutateRowRequest
            {
                TableNameAsTableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]"),
                RowKey    = ByteString.CopyFromUtf8("122"),
                Mutations = { },
            };
            MutateRowResponse expectedResponse = new MutateRowResponse();

            mockGrpcClient.Setup(x => x.MutateRowAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <MutateRowResponse>(Task.FromResult(expectedResponse), null, null, null, null));
            BigtableServiceApiClient client  = new BigtableServiceApiClientImpl(mockGrpcClient.Object, null);
            TableName              tableName = new TableName("[PROJECT]", "[INSTANCE]", "[TABLE]");
            ByteString             rowKey    = ByteString.CopyFromUtf8("122");
            IEnumerable <Mutation> mutations = new List <Mutation>();
            MutateRowResponse      response  = await client.MutateRowAsync(tableName, rowKey, mutations);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Esempio n. 17
0
        private void PrepareTestData()
        {
            MutateRowRequest mutateRowRequest = new MutateRowRequest
            {
                TableName = TableName,
                RowKey    = ByteString.CopyFromUtf8(LargeRowKey)
            };

            string largeValue = new string('x', PayloadBytes);

            Mutation mutation = new Mutation
            {
                SetCell = new Mutation.Types.SetCell
                {
                    FamilyName      = ColumnFamily,
                    ColumnQualifier = ByteString.CopyFromUtf8(ColumnQualifier),
                    Value           = ByteString.CopyFromUtf8(largeValue),
                }
            };

            mutateRowRequest.Mutations.Add(mutation);
            client.MutateRow(mutateRowRequest);
        }
Esempio n. 18
0
        public void MutateRow()
        {
            MutateRowRequest mutateRowRequest = new MutateRowRequest
            {
                TableName = TableName,
                RowKey    = ByteString.CopyFromUtf8(RowKey)
            };

            Mutation mutation = new Mutation
            {
                SetCell = new Mutation.Types.SetCell
                {
                    FamilyName      = ColumnFamily,
                    ColumnQualifier = ByteString.CopyFromUtf8(ColumnQualifier),
                    Value           = ByteString.CopyFromUtf8(TestValue),
                }
            };

            mutateRowRequest.Mutations.Add(mutation);

            client.MutateRow(mutateRowRequest);
            Assert.AreEqual(1, invoker.GetChannelRefsForTest().Count);
        }
 public override Task <MutateRowResponse> MutateRowAsync(MutateRowRequest request, CallSettings callSettings = null) =>
 throw new RequestMadeException();
 public override MutateRowResponse MutateRow(MutateRowRequest request, CallSettings callSettings = null) =>
 throw new RequestMadeException();