Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 无法将实体导入数据存储仿真程序_Google Cloud Platform_Google Cloud Datastore_Emulation - Fatal编程技术网

Google cloud platform 无法将实体导入数据存储仿真程序

Google cloud platform 无法将实体导入数据存储仿真程序,google-cloud-platform,google-cloud-datastore,emulation,Google Cloud Platform,Google Cloud Datastore,Emulation,我正在尝试将数据存储实体的备份恢复到本地主机上运行的仿真器中 我正在使用这个位置的指南 这就是我到目前为止所做的 #启动模拟器 gcloud beta模拟器数据存储启动--存储在磁盘上--数据目录“./datastore emulator”--项目=我的项目 #设置环境 $(gcloud测试版模拟器数据存储环境初始化) #启动恢复操作 curl-X POST localhost:8081/v1/projects/myproject:import\ -H'内容类型:应用程序/json'\ -d'

我正在尝试将数据存储实体的备份恢复到本地主机上运行的仿真器中

我正在使用这个位置的指南 这就是我到目前为止所做的

#启动模拟器
gcloud beta模拟器数据存储启动--存储在磁盘上--数据目录“./datastore emulator”--项目=我的项目
#设置环境
$(gcloud测试版模拟器数据存储环境初始化)
#启动恢复操作
curl-X POST localhost:8081/v1/projects/myproject:import\
-H'内容类型:应用程序/json'\
-d'{“输入url”:“/home/bogdan/workspace/myCopy/2019-08-19-23-00/2019-08-19-23-00.整体导出元数据”}
此时,我可以看到仿真器检测到连接,这是日志片段

[datastore]开发应用服务器现在正在运行。
[数据存储]
[数据存储]前一行仅为向后兼容而打印。
[数据存储]如果您的测试依赖它来确认模拟器启动,
[数据存储]请迁移到emulator运行状况检查端点(/)。非常感谢。
[数据存储]此仿真程序实例的运行状况检查终结点为http://localhost:8081/Sep 2019年2月3日下午3:45:11 io.gapi.emulators.grpc.GrpcServer$3操作完成
[数据存储]信息:将处理程序添加到新注册的通道。
[数据存储]2019年9月2日下午3:45:11 io.gapi.emulators.netty.HttpVersionRoutingHandler通道读取
[数据存储]信息:检测到非HTTP/2连接。
[数据存储]2019年9月2日下午3:45:11 io.gapi.emulators.grpc.GrpcServer$3操作完成
[数据存储]信息:将处理程序添加到新注册的通道。
[数据存储]2019年9月2日下午3:45:11 io.gapi.emulators.netty.HttpVersionRoutingHandler通道读取
[数据存储]信息:检测到HTTP/2连接。
等了大约5分钟后

[datastore] Exception in thread "grpc-default-executor-0" java.lang.OutOfMemoryError: GC overhead limit exceeded
[datastore]     at java.util.Collections.unmodifiableList(Collections.java:1289)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path.<init>(OnestoreEntity.java:8573)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path.<init>(OnestoreEntity.java:8504)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path$1.parsePartialFrom(OnestoreEntity.java:10145)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path$1.parsePartialFrom(OnestoreEntity.java:10133)
[datastore]     at com.google.protobuf.CodedInputStream$ArrayDecoder.readMessage(CodedInputStream.java:969)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto.<init>(OnestoreEntity.java:13508)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto.<init>(OnestoreEntity.java:13407)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto$1.parsePartialFrom(OnestoreEntity.java:15888)
[datastore]     at com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto$1.parsePartialFrom(OnestoreEntity.java:15876)
[datastore]     at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:57)
[datastore]     at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:20)
[datastore]     at com.google.cloud.datastore.emulator.impl.LevelDBLogReaderChannel.readProtoMessage(LevelDBLogReaderChannel.java:65)
[datastore]     at com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseEntityProtoFile(ExportImportUtil.java:157)
[datastore]     at com.google.cloud.datastore.emulator.impl.ExportImportUtil.fetchEntities(ExportImportUtil.java:59)
[datastore]     at com.google.cloud.datastore.emulator.admin.v1.DatastoreAdminV1Emulator.importEntities(DatastoreAdminV1Emulator.java:115)
[datastore]     at com.google.cloud.datastore.emulator.admin.v1.DatastoreAdminGrpcAdapter$1.importEntities(DatastoreAdminGrpcAdapter.java:55)
[datastore]     at com.google.datastore.admin.v1.DatastoreAdminGrpc$MethodHandlers.invoke(DatastoreAdminGrpc.java:1040)
[datastore]     at io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:171)
[datastore]     at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:283)
[datastore]     at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:711)
[datastore]     at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
[datastore]     at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
[datastore]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[datastore]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[datastore]     at java.lang.Thread.run(Thread.java:748)
[datastore] Sep 02, 2019 3:47:35 PM io.gapi.emulators.netty.HttpHandler$1 onError
[datastore] INFO: Exception when handling request: UNKNOWN
[datastore]线程“grpc-default-executor-0”java.lang.OutOfMemoryError中出现异常:超出GC开销限制
[数据存储]位于java.util.Collections.unmodifiableList(Collections.java:1289)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path。(OnestoreEntity.java:8573)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path。(OnestoreEntity.java:8504)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path$1.parsePartialFrom(OnestoreEntity.java:10145)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$Path$1.parsePartialFrom(OnestoreEntity.java:10133)
[datastore]位于com.google.protobuf.CodedInputStream$arraydeconder.readMessage(CodedInputStream.java:969)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto.(OnestoreEntity.java:13508)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto.(OnestoreEntity.java:13407)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto$1.parsePartialFrom(OnestoreEntity.java:15888)
[datastore]位于com.google.storage.onestore.v3.proto2api.OnestoreEntity$EntityProto$1.parsePartialFrom(OnestoreEntity.java:15876)
[数据存储]位于com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:57)
[数据存储]位于com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:20)
[datastore]位于com.google.cloud.datastore.emulator.impl.LevelDBLogReaderChannel.readProtoMessage(LevelDBLogReaderChannel.java:65)
[datastore]位于com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseEntityProtoFile(ExportImportUtil.java:157)
[datastore]位于com.google.cloud.datastore.emulator.impl.ExportImportUtil.fetchEntities(ExportImportUtil.java:59)
[datastore]位于com.google.cloud.datastore.emulator.admin.v1.DatastoreAdminV1Emulator.importEntities(DatastoreAdminV1Emulator.java:115)
[datastore]位于com.google.cloud.datastore.emulator.admin.v1.DatastoreAdminGrpcAdapter$1.importEntities(DatastoreAdminGrpcAdapter.java:55)
[datastore]位于com.google.datastore.admin.v1.DatastoreAdminGrpc$MethodHandlers.invoke(DatastoreAdminGrpc.java:1040)
[datastore]位于io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:171)
[数据存储]位于io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.half Closed(ServerCallImpl.java:283)
[datastore]位于io.grpc.internal.ServerImpl$跳转到应用程序readserverstreamlistener$1half closed.runInContext(ServerImpl.java:711)
[datastore]位于io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
[数据存储]位于io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
[数据存储]位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[数据存储]位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[数据存储]位于java.lang.Thread.run(Thread.java:748)
[数据存储]2019年9月2日下午3:47:35 io.gapi.emulators.netty.HttpHandler$1 onError
[数据存储]信息:处理请求时出现异常:未知

另外,不是在
/datastore emulator/WEB-INF/appengine生成的数据库文件中创建的

编辑了标记,以提供适当的可视性。您是否设法解决了此问题?我面临着同样的问题,我有一台16gb的机器,所以这不应该是一个问题,但会不断遇到同样的问题issue@bool.dev遗憾的是,我没能克服这一点。内存不足错误可能是由于仿真器的错误实现。我在这里猜测,但我的备份超过7GB。我也在处理一些从一开始就设计得很糟糕的遗留实体,其中一些本身就相当大。我最后做的是1.在谷歌控制台上创建一个新项目,2。在新项目中恢复备份,然后执行3。已将本地运行应用程序配置为连接到新项目的实时数据库。4使用数据存储连接到此新项目的localhost进行调试通过导出
export JAVA=“JAVA-XX:+UseConMarkSweepGC”