You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On second thought I think we should do this post-merge - this feature would have to wait for v2 completion anyways and it would ship around the same time regardless of whether or not we lump them together.
@lesv is it possible to connect to a Bigtable emulator host through gRPC?
I tried to make a request, and the emulator prints:
[bigtable] 2016/09/02 12:28:41 transport: http2Server.HandleStreams received bogus greeting from client: "\x16\x03\x01\x00\xa6\x01\x00\x00\xa2\x03\x03\x9bp|Mb)z\xf7\xe8\x17\xba3\xbe"
[bigtable] 2016/09/02 12:28:46 transport: http2Server.HandleStreams failed to receive the preface from client: EOF
And output from the script that made the request:
E0902 12:28:41.194034000 123145321807872 ssl_transport_security.c:945] Handshake failed with fatal error SSL_ERROR_SSL: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number.
E0902 12:28:41.194212000 123145321807872 handshake.c:241] Handshake failed with error TSI_PROTOCOL_FAILURE
E0902 12:28:41.194218000 123145321807872 secure_channel_create.c:99] Secure handshake failed with error 1.
E0902 12:28:46.549982000 123145338609664 tcp_client_posix.c:191] failed to connect to 'ipv4:127.0.0.1:8051': timeout occurred
Thank you, I forgot about that! I've run into the next error which is returned from gRPC:
Error: unknown service google.bigtable.admin.v2.BigtableInstanceAdmin
at Function.GrpcService.decorateError_ (node_modules/@google-cloud/common/src/grpc-service.js:494:34)
at Object.callback (node_modules/@google-cloud/common/src/grpc-service.js:253:35)
at node_modules/grpc/src/node/src/client.js:420:14
This is trying to create an instance-- are there any methods/operations/services that aren't accessible through the emulator?
Looks like there's a discrepancy between the emulator and the upstream API. When autoCreate is set to true we first attempt to get the object in question and in the event of a 404 we'll attempt to create said object. The emulator appears to be returning a 500 error instead of a 404.
@garye do we know who's in charge of the emulator?
@arbesfeld In the meantime you could try something like
Activity
stephenplusplus commentedon Aug 18, 2016
@callmehiphop we can probably do this the same way we do with Datastore, with an 'apiEndpoint' option. Want to tack it onto your v2 PR?
callmehiphop commentedon Aug 18, 2016
Sure!
callmehiphop commentedon Aug 21, 2016
On second thought I think we should do this post-merge - this feature would have to wait for v2 completion anyways and it would ship around the same time regardless of whether or not we lump them together.
stephenplusplus commentedon Sep 2, 2016
@lesv is it possible to connect to a Bigtable emulator host through gRPC?
I tried to make a request, and the emulator prints:
And output from the script that made the request:
garye commentedon Sep 2, 2016
@stephenplusplus The emulator only supports plaintext negotiation, try to disable TLS. Maybe this is
grpc.ChannelCredentials.createInsecure()?stephenplusplus commentedon Sep 2, 2016
Thank you, I forgot about that! I've run into the next error which is returned from gRPC:
This is trying to create an instance-- are there any methods/operations/services that aren't accessible through the emulator?
garye commentedon Sep 2, 2016
It doesn't support any instance-related services. So just use any project/instance and start by creating a table.
arbesfeld commentedon Oct 19, 2016
Hi, I finally got around to giving this a shot and seems to be hanging on this RPC:
I'm not seeing any logging in the bigtable process:
callmehiphop commentedon Oct 20, 2016
Looks like there's a discrepancy between the emulator and the upstream API. When
autoCreateis set to true we first attempt to get the object in question and in the event of a 404 we'll attempt to create said object. The emulator appears to be returning a 500 error instead of a 404.@garye do we know who's in charge of the emulator?
@arbesfeld In the meantime you could try something like
garye commentedon Oct 21, 2016
@callmehiphop I am :) The emulator is actually just this:
https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/bigtable/bttest/inmem.go
Let me look into changing the error code. So the
autoCreateoption callsGetTable?garye commentedon Oct 21, 2016
and grpc
NotFoundgets treated as a 404, right?callmehiphop commentedon Oct 21, 2016
Correct! First we call
GetTableand if that returns a 404 (grpc 5) then we callCreateTableYep! Sorry I didn't mention that up front, we map grpc codes to HTTP codes to make it easier for the user.
garye commentedon Oct 25, 2016
There's a fix in for this: googleapis/google-cloud-go@1d0367c
Will take at least a week to make its way into the gcloud emulator. Let me know if you're up for trying against the go app itself.
garye commentedon Nov 18, 2016
@callmehiphop @arbesfeld Any issues left connecting to the emulator or are things looking good here?
arbesfeld commentedon Nov 18, 2016
It works! Thank you
build: correct repository for publication failures (#1506)
chore(deps): update dependency google-auth-library to v10.2.0 (#1506)
feat: add `gcf-owl-bot[bot]` to `ignoreAuthors` (#1506)
feat: customize retry behavior implementation (#1474) (#1493)
chore: [node] add auto-approve templates, and install dependencies wi…
feat: customize retry behavior implementation (googleapis#1474) (goog…