Repository navigation
Datastore 503 error "connect failed" #1946
Description
Activity
I haven't reproduced the 503, however, I noticed the request hanging in 1.1.0 and coming back instantly in 1.0.1.
To anyone affected by this,
npm install google-cloudand access your sub-services through there.@murgatroid99 -- any ideas what could have caused this? Currently, it looks like we'd have to roll back and force 1.0.1.
Here's repro code:
$ npm init -y $ npm install --save @google-cloud/datastore $ touch index.js'use strict' var datastore = require('@google-cloud/datastore')({ projectId: 'nth-circlet-705' }) datastore.save({ key: datastore.key(['Kind', 1]), data: { test: true } }, console.log) // never called in [email protected]
Reacted by Seb@dskdas thank you for analyzing and reporting this problem. I can confirm that I have the same problem and solution.
I have a question for the developers/maintainers; I have noticed that shrinkwrap is being used for the main google-cloud package, but not for the @Google-Cloud packages. Is there a specific reason for this? These kind of problems can be prevented if the @Google-Cloud packages are also shrinkwrapped.
We shrinkwrap the bundled package so that we can minimize duplicated dependencies for users of non-dedupe-ing npm versions (pre [email protected]). We'd like to not have to shrinkwrap at all, however, it's clear it would have prevented this situation we're in now. The cost is delayed bug fixes from our dependencies and a more complicated release process, which means a slower delivery to the end user. This type of issue is rare, and can be addressed in a short matter of time by us. And users can fix by downgrading or following other specific advice that we share here.
I don't want to squash the idea, but I would prefer we have it in another issue so we can keep this clear for users who might hit the same bug and benefit from related advice. If anyone feels strongly about it, please open a new issue.
- addedtype: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
on Jan 31, 2017 I can reproduce this problem. The root cause is a TCP connection failure, though I can't tell yet why it's happening.
I have tracked down the issue, and I will publish [email protected] as soon as our tests pass and we can build the new packages.
Reacted by Stephen, Chris Dzoba and Adam Walsh@stephenplusplus I had a problem in the past with the main google-cloud package due to a bug in node-forge that was resolved upstream but still shrinkwrapped in google-cloud so I would prefer no shrinkwrap as well. I was just wondering if the decision to differentiate between the main google-cloud package and @Google-Cloud packages was taken deliberately. Thanks for clearing that up.
Reacted by StephenGotcha, it's only because
google-cloudwraps so many modules, and they all share so many common dependencies.npm install google-cloudwas downloading 800MB+ :(I have encountered what I think is a related error when deploying to Heroku. It has killed my build & deploy process.
> [email protected] install /tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc > node-pre-gyp install --fallback-to-build node-pre-gyp ERR! Tried to download: https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v0.14.1/node-v51-linux-x64.tar.gz node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v51 ABI) (falling back to source compile with node-gyp) make: Entering directory `/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/build' CC(target) Release/obj.target/grpc/src/core/lib/surface/init.o CC(target) Release/obj.target/grpc/src/core/lib/channel/channel_args.o CC(target) Release/obj.target/grpc/src/core/lib/channel/channel_stack.o CC(target) Release/obj.target/grpc/src/core/lib/channel/channel_stack_builder.o CC(target) Release/obj.target/grpc/src/core/lib/channel/compress_filter.o CC(target) Release/obj.target/grpc/src/core/lib/channel/connected_channel.o CC(target) Release/obj.target/grpc/src/core/lib/channel/http_client_filter.o CC(target) Release/obj.target/grpc/src/core/lib/channel/http_server_filter.o CC(target) Release/obj.target/grpc/src/core/lib/compression/compression_algorithm.o CC(target) Release/obj.target/grpc/src/core/lib/compression/message_compress.o CC(target) Release/obj.target/grpc/src/core/lib/debug/trace.o CC(target) Release/obj.target/grpc/src/core/lib/http/format_request.o CC(target) Release/obj.target/grpc/src/core/lib/http/httpcli.o CC(target) Release/obj.target/grpc/src/core/lib/http/parser.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/closure.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/endpoint.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/endpoint_pair_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/endpoint_pair_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/ev_poll_and_epoll_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/ev_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/exec_ctx.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/executor.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/iocp_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/iomgr.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/iomgr_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/iomgr_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/pollset_set_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/pollset_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/resolve_address_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/resolve_address_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/sockaddr_utils.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/socket_utils_common_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/socket_utils_linux.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/socket_utils_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/socket_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/tcp_client_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/tcp_client_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/tcp_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/tcp_server_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/tcp_server_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/tcp_windows.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/time_averaged_stats.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/timer.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/timer_heap.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/udp_server.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/unix_sockets_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/unix_sockets_posix_noop.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/wakeup_fd_eventfd.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/wakeup_fd_nospecial.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/wakeup_fd_pipe.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/wakeup_fd_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/workqueue_posix.o CC(target) Release/obj.target/grpc/src/core/lib/iomgr/workqueue_windows.o CC(target) Release/obj.target/grpc/src/core/lib/json/json.o CC(target) Release/obj.target/grpc/src/core/lib/json/json_reader.o CC(target) Release/obj.target/grpc/src/core/lib/json/json_string.o CC(target) Release/obj.target/grpc/src/core/lib/json/json_writer.o CC(target) Release/obj.target/grpc/src/core/lib/surface/alarm.o CC(target) Release/obj.target/grpc/src/core/lib/surface/api_trace.o CC(target) Release/obj.target/grpc/src/core/lib/surface/byte_buffer.o CC(target) Release/obj.target/grpc/src/core/lib/surface/byte_buffer_reader.o CC(target) Release/obj.target/grpc/src/core/lib/surface/call.o CC(target) Release/obj.target/grpc/src/core/lib/surface/call_details.o CC(target) Release/obj.target/grpc/src/core/lib/surface/call_log_batch.o CC(target) Release/obj.target/grpc/src/core/lib/surface/channel.o CC(target) Release/obj.target/grpc/src/core/lib/surface/channel_init.o CC(target) Release/obj.target/grpc/src/core/lib/surface/channel_ping.o CC(target) Release/obj.target/grpc/src/core/lib/surface/channel_stack_type.o CC(target) Release/obj.target/grpc/src/core/lib/surface/completion_queue.o CC(target) Release/obj.target/grpc/src/core/lib/surface/event_string.o CC(target) Release/obj.target/grpc/src/core/lib/surface/lame_client.o CC(target) Release/obj.target/grpc/src/core/lib/surface/metadata_array.o CC(target) Release/obj.target/grpc/src/core/lib/surface/server.o CC(target) Release/obj.target/grpc/src/core/lib/surface/validate_metadata.o CC(target) Release/obj.target/grpc/src/core/lib/surface/version.o CC(target) Release/obj.target/grpc/src/core/lib/transport/byte_stream.o CC(target) Release/obj.target/grpc/src/core/lib/transport/connectivity_state.o CC(target) Release/obj.target/grpc/src/core/lib/transport/metadata.o CC(target) Release/obj.target/grpc/src/core/lib/transport/metadata_batch.o CC(target) Release/obj.target/grpc/src/core/lib/transport/static_metadata.o CC(target) Release/obj.target/grpc/src/core/lib/transport/transport.o CC(target) Release/obj.target/grpc/src/core/lib/transport/transport_op_string.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/bin_encoder.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/chttp2_plugin.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/frame_data.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/frame_goaway.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/frame_ping.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/frame_rst_stream.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/frame_settings.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/frame_window_update.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/hpack_parser.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/hpack_table.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/huffsyms.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/incoming_metadata.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/parsing.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/status_conversion.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/stream_lists.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/stream_map.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/timeout_encoding.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/varint.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/transport/writing.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/alpn/alpn.o CC(target) Release/obj.target/grpc/src/core/lib/http/httpcli_security_connector.o CC(target) Release/obj.target/grpc/src/core/lib/security/b64.o CC(target) Release/obj.target/grpc/src/core/lib/security/client_auth_filter.o CC(target) Release/obj.target/grpc/src/core/lib/security/credentials.o CC(target) Release/obj.target/grpc/src/core/lib/security/credentials_metadata.o CC(target) Release/obj.target/grpc/src/core/lib/security/credentials_posix.o CC(target) Release/obj.target/grpc/src/core/lib/security/credentials_win32.o CC(target) Release/obj.target/grpc/src/core/lib/security/google_default_credentials.o CC(target) Release/obj.target/grpc/src/core/lib/security/handshake.o CC(target) Release/obj.target/grpc/src/core/lib/security/json_token.o CC(target) Release/obj.target/grpc/src/core/lib/security/jwt_verifier.o CC(target) Release/obj.target/grpc/src/core/lib/security/secure_endpoint.o CC(target) Release/obj.target/grpc/src/core/lib/security/security_connector.o CC(target) Release/obj.target/grpc/src/core/lib/security/security_context.o CC(target) Release/obj.target/grpc/src/core/lib/security/server_auth_filter.o CC(target) Release/obj.target/grpc/src/core/lib/surface/init_secure.o CC(target) Release/obj.target/grpc/src/core/lib/tsi/fake_transport_security.o CC(target) Release/obj.target/grpc/src/core/lib/tsi/ssl_transport_security.o CC(target) Release/obj.target/grpc/src/core/lib/tsi/transport_security.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/channel_connectivity.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/client_channel.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/client_channel_factory.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/client_config.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/client_config_plugin.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/connector.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/default_initial_connect_string.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/initial_connect_string.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/lb_policy.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/lb_policy_factory.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/lb_policy_registry.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/parse_address.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/resolver.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/resolver_factory.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/resolver_registry.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/subchannel.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/subchannel_call_holder.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/subchannel_index.o CC(target) Release/obj.target/grpc/src/core/ext/client_config/uri_parser.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2.o CC(target) Release/obj.target/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create.o CC(target) Release/obj.target/grpc/src/core/ext/lb_policy/grpclb/load_balancer_api.o CC(target) Release/obj.target/grpc/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.o CC(target) Release/obj.target/grpc/third_party/nanopb/pb_common.o CC(target) Release/obj.target/grpc/third_party/nanopb/pb_decode.o CC(target) Release/obj.target/grpc/third_party/nanopb/pb_encode.o CC(target) Release/obj.target/grpc/src/core/ext/lb_policy/pick_first/pick_first.o CC(target) Release/obj.target/grpc/src/core/ext/lb_policy/round_robin/round_robin.o CC(target) Release/obj.target/grpc/src/core/ext/resolver/dns/native/dns_resolver.o CC(target) Release/obj.target/grpc/src/core/ext/resolver/sockaddr/sockaddr_resolver.o CC(target) Release/obj.target/grpc/src/core/ext/census/context.o CC(target) Release/obj.target/grpc/src/core/ext/census/grpc_context.o CC(target) Release/obj.target/grpc/src/core/ext/census/grpc_filter.o CC(target) Release/obj.target/grpc/src/core/ext/census/grpc_plugin.o CC(target) Release/obj.target/grpc/src/core/ext/census/initialize.o CC(target) Release/obj.target/grpc/src/core/ext/census/mlog.o CC(target) Release/obj.target/grpc/src/core/ext/census/operation.o CC(target) Release/obj.target/grpc/src/core/ext/census/placeholders.o CC(target) Release/obj.target/grpc/src/core/ext/census/tracing.o CC(target) Release/obj.target/grpc/src/core/plugin_registry/grpc_plugin_registry.o AR(target) Release/obj.target/libgrpc.a COPY Release/libgrpc.a CC(target) Release/obj.target/gpr/src/core/lib/profiling/basic_timers.o CC(target) Release/obj.target/gpr/src/core/lib/profiling/stap_timers.o CC(target) Release/obj.target/gpr/src/core/lib/support/alloc.o CC(target) Release/obj.target/gpr/src/core/lib/support/avl.o CC(target) Release/obj.target/gpr/src/core/lib/support/backoff.o CC(target) Release/obj.target/gpr/src/core/lib/support/cmdline.o CC(target) Release/obj.target/gpr/src/core/lib/support/cpu_iphone.o CC(target) Release/obj.target/gpr/src/core/lib/support/cpu_linux.o CC(target) Release/obj.target/gpr/src/core/lib/support/cpu_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/cpu_windows.o CC(target) Release/obj.target/gpr/src/core/lib/support/env_linux.o CC(target) Release/obj.target/gpr/src/core/lib/support/env_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/env_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/histogram.o CC(target) Release/obj.target/gpr/src/core/lib/support/host_port.o CC(target) Release/obj.target/gpr/src/core/lib/support/load_file.o CC(target) Release/obj.target/gpr/src/core/lib/support/log.o CC(target) Release/obj.target/gpr/src/core/lib/support/log_android.o CC(target) Release/obj.target/gpr/src/core/lib/support/log_linux.o CC(target) Release/obj.target/gpr/src/core/lib/support/log_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/log_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/murmur_hash.o CC(target) Release/obj.target/gpr/src/core/lib/support/slice.o CC(target) Release/obj.target/gpr/src/core/lib/support/slice_buffer.o CC(target) Release/obj.target/gpr/src/core/lib/support/stack_lockfree.o CC(target) Release/obj.target/gpr/src/core/lib/support/string.o CC(target) Release/obj.target/gpr/src/core/lib/support/string_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/string_util_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/string_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/subprocess_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/subprocess_windows.o CC(target) Release/obj.target/gpr/src/core/lib/support/sync.o CC(target) Release/obj.target/gpr/src/core/lib/support/sync_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/sync_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/thd.o CC(target) Release/obj.target/gpr/src/core/lib/support/thd_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/thd_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/time.o CC(target) Release/obj.target/gpr/src/core/lib/support/time_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/time_precise.o CC(target) Release/obj.target/gpr/src/core/lib/support/time_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/tls_pthread.o CC(target) Release/obj.target/gpr/src/core/lib/support/tmpfile_msys.o CC(target) Release/obj.target/gpr/src/core/lib/support/tmpfile_posix.o CC(target) Release/obj.target/gpr/src/core/lib/support/tmpfile_win32.o CC(target) Release/obj.target/gpr/src/core/lib/support/wrap_memcpy.o AR(target) Release/obj.target/libgpr.a COPY Release/libgpr.a CXX(target) Release/obj.target/grpc_node/src/node/ext/byte_buffer.o ../src/node/ext/byte_buffer.cc: In function ‘v8::Local<v8::Value> grpc::node::MakeFastBuffer(v8::Local<v8::Value>)’: ../src/node/ext/byte_buffer.cc:100:72: warning: ‘v8::Local<v8::Object> v8::Function::NewInstance(int, v8::Local<v8::Value>*) const’ is deprecated (declared at /app/.node-gyp/7.4.0/include/node/v8.h:3287): Use maybe version [-Wdeprecated-declarations] Local<Object> fastBuffer = bufferConstructor->NewInstance(3, consArgs); ^ CXX(target) Release/obj.target/grpc_node/src/node/ext/call.o ../src/node/ext/call.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE grpc::node::Call::New(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/node/ext/call.cc:616:20: error: ‘class v8::Object’ has no member named ‘SetHiddenValue’ info.This()->SetHiddenValue(Nan::New("channel_").ToLocalChecked(), ^ ../src/node/ext/call.cc:625:19: warning: ‘v8::Local<v8::Object> v8::Function::NewInstance(int, v8::Local<v8::Value>*) const’ is deprecated (declared at /app/.node-gyp/7.4.0/include/node/v8.h:3287): Use maybe version [-Wdeprecated-declarations] argc, argv); ^ make: *** [Release/obj.target/grpc_node/src/node/ext/call.o] Error 1 make: Leaving directory `/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/build' gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12) gyp ERR! System Linux 3.13.0-105-generic gyp ERR! command "/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/bin/node" "/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/src/node/extension_binary/grpc_node.node" "--module_name=grpc_node" "--module_path=/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/src/node/extension_binary" gyp ERR! cwd /tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc gyp ERR! node -v v7.4.0 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/bin/node /tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/src/node/extension_binary/grpc_node.node --module_name=grpc_node --module_path=/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/src/node/extension_binary' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at emitTwo (events.js:106:13) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:191:7) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:885:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) node-pre-gyp ERR! System Linux 3.13.0-105-generic node-pre-gyp ERR! command "/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/bin/node" "/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc node-pre-gyp ERR! node -v v7.4.0 node-pre-gyp ERR! node-pre-gyp -v v0.6.28 node-pre-gyp ERR! not ok Failed to execute '/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/bin/node /tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/src/node/extension_binary/grpc_node.node --module_name=grpc_node --module_path=/tmp/build_0a211b45cbd6681b8d427f6cfaaeb0d3/node_modules/@google-cloud/compute/node_modules/grpc/src/node/extension_binary' (1)```@dzoba grpc-0.14.1 is way too old. I believe your project is using some older version of
@google-cloud/compute-- consider upgrade it to the latest release.Reacted by Chris Dzoba and Jordan ArsenaultReacted by Chris Dzoba and Jordan ArsenaultOur v1.1.x branch now contains the fix to the bug, and the package will be published shortly (probably later today, definitely by early tomorrow). I have verified that it works with the provided reproduction case, but it would be very helpful if you guys could verify that it works more generally.
I have now published [email protected]. This problem should now be fixed.
thank @murgatroid99 Just to confirm that it works for me on my machine, but it is not working on app engine
- added a commit that references this issue
on Feb 1, 2017 20 remaining items
I also noticed that all of my (remote) deployed google cloud functions stopped being able to store data to google cloud datastore about a week ago. At that time, cloud console was logging a grpc network error. After the grpc 1.1.1 update, the network error is no longer logged, but data is still not being stored to cloud datastore for remotely deployed functions. (Note Locally deployed cloud functions do store data to the remote cloud datastore.) Bundling the node_modules directory with the remotely deployed functions doesn't solve the problem either. ((With package.json dependencies: "@google-cloud/datastore": "^0.6.1" and "grpc": "^1.1.1") When the node_modules directory is included with the remote deployed function, the cloud console log shows a "function timeout" error. When the node_modules directory is not included, the cloud function fails (times-out) silently.
It kinda seems like the google cloud functions network is not able to see the google datastore network. Since my local dev server can see both networks, it doesn't have the same problem.
Any fix update or insight would be greatly appreciated. / Thanks.
Reacted by Róbert Kiss and Stanislas Marion- added 2 commits that reference this issue
on Feb 7, 2017 I had the same problem then @tobeach.
@ofrobots:
Hmmm... there is no issue when the cloud function is run on a local server with the same source tree. (i.e no netbase issue.) But, when the exact same function and node_modules bundle is deployed to the remote google cloud functions environment, it can no longer save data to cloud datastore. - Note that the same remotely deployed function worked perfectly up until a week ago.@tobeach The above linked workaround in the Node.js docker image should resolve the problem. Cloud Functions is set to pick up the docker image with the fix sometime this week. /cc swalkowski
I believe this has either already been resolved, or will be when you update to google-cloud
0.46.2which was just released. I'm going to close, but just let me know if this isn't resolved.- added a commit that references this issue
on Jul 23, 2025 - added a commit that references this issue
on Oct 22, 2025 - added a commit that references this issue
on Feb 24, 2026 - added a commit that references this issue
on Mar 27, 2026
With the latest 1.1.0 version datastore save returns an 503 error "connect failed"
Downgrading to grpc 1.0.1 in my project seems to fix the issue.
grpc/grpc#9518
Environment details
"@google-cloud/datastore": "^0.6.1",
"@google-cloud/storage": "^0.6.1",
Steps to reproduce
datastore save method returns error