This is an automated email from the ASF dual-hosted git repository.
pabloem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new 59f5772 [BEAM-13145][Playground] add a new status: STATUS_VALIDATING;
add a new status: STATUS_VALIDATION_ERROR; add a new status: STATUS_COMPILING;
update of validation processing;
new 59bd9a0 Merge pull request #15853 from [BEAM-13145][Playground]
Validation error
59f5772 is described below
commit 59f57728a8ba5f1490d2f4f6aa35bb0c317240c6
Author: AydarZaynutdinov <[email protected]>
AuthorDate: Mon Nov 1 16:27:31 2021 +0300
[BEAM-13145][Playground]
add a new status: STATUS_VALIDATING;
add a new status: STATUS_VALIDATION_ERROR;
add a new status: STATUS_COMPILING;
update of validation processing;
---
playground/api/v1/api.proto | 11 ++-
playground/backend/cmd/server/controller.go | 35 ++++---
playground/backend/cmd/server/controller_test.go | 8 +-
playground/backend/internal/api/v1/api.pb.go | 111 +++++++++++++----------
4 files changed, 94 insertions(+), 71 deletions(-)
diff --git a/playground/api/v1/api.proto b/playground/api/v1/api.proto
index a6c8b93..d105791 100644
--- a/playground/api/v1/api.proto
+++ b/playground/api/v1/api.proto
@@ -31,11 +31,14 @@ enum Sdk {
enum Status {
STATUS_UNSPECIFIED = 0;
- STATUS_EXECUTING = 1;
- STATUS_FINISHED = 2;
- STATUS_ERROR = 3;
+ STATUS_VALIDATING = 1;
+ STATUS_VALIDATION_ERROR = 2;
+ STATUS_COMPILING = 3;
STATUS_COMPILE_ERROR = 4;
- STATUS_RUN_TIMEOUT = 5;
+ STATUS_EXECUTING = 5;
+ STATUS_FINISHED = 6;
+ STATUS_ERROR = 7;
+ STATUS_RUN_TIMEOUT = 8;
}
// RunCodeRequest represents a code text and options of SDK which executes the
code.
diff --git a/playground/backend/cmd/server/controller.go
b/playground/backend/cmd/server/controller.go
index 49285d2..03e9b2a 100644
--- a/playground/backend/cmd/server/controller.go
+++ b/playground/backend/cmd/server/controller.go
@@ -60,7 +60,7 @@ func (controller *playgroundController) RunCode(ctx
context.Context, info *pb.Ru
compileBuilder := setupCompileBuilder(lc, info.Sdk,
controller.env.BeamSdkEnvs.ExecutorConfig)
- setToCache(ctx, controller.cacheService, pipelineId, cache.Status,
pb.Status_STATUS_EXECUTING)
+ setToCache(ctx, controller.cacheService, pipelineId, cache.Status,
pb.Status_STATUS_VALIDATING)
if err := controller.cacheService.SetExpTime(ctx, pipelineId,
cacheExpirationTime); err != nil {
logger.Errorf("%s: RunCode(): cache.SetExpTime(): %s\n",
pipelineId, err.Error())
return nil, errors.InternalError("Run code()", "Error during
set expiration to cache: "+err.Error())
@@ -219,13 +219,11 @@ func processCode(ctx context.Context, cacheService
cache.Cache, lc *fs_tool.Life
logger.Infof("%s: Validate() ...\n", pipelineId)
validateFunc := exec.Validate()
if err := validateFunc(); err != nil {
- // error during validation
- // TODO move to processError when status for validation error
will be added
- logger.Errorf("%s: Validate: %s\n", pipelineId, err.Error())
- setToCache(ctx, cacheService, pipelineId, cache.Status,
pb.Status_STATUS_ERROR)
+ processError(ctx, err, nil, pipelineId, cacheService,
pb.Status_STATUS_VALIDATION_ERROR)
return
+ } else {
+ processSuccess(ctx, nil, pipelineId, cacheService,
pb.Status_STATUS_COMPILING)
}
- logger.Infof("%s: Validate() finish\n", pipelineId)
// compile
logger.Infof("%s: Compile() ...\n", pipelineId)
@@ -250,7 +248,6 @@ func processCode(ctx context.Context, cacheService
cache.Cache, lc *fs_tool.Life
logger.Infof("%s: Run() ...\n", pipelineId)
runCmd := exec.Run()
if data, err := runCmd.CombinedOutput(); err != nil {
- // error during run code
processError(ctx, err, data, pipelineId, cacheService,
pb.Status_STATUS_ERROR)
return
} else {
@@ -271,14 +268,11 @@ func cleanUp(pipelineId uuid.UUID, lc *fs_tool.LifeCycle)
{
// processError processes error received during processing code via setting a
corresponding status and output to cache
func processError(ctx context.Context, err error, data []byte, pipelineId
uuid.UUID, cacheService cache.Cache, status pb.Status) {
switch status {
- case pb.Status_STATUS_ERROR:
- logger.Errorf("%s: Run: err: %s, output: %s\n", pipelineId,
err.Error(), data)
-
- // set to cache pipelineId: cache.SubKey_RunOutput: err.Error()
- setToCache(ctx, cacheService, pipelineId, cache.RunOutput,
"error: "+err.Error()+", output: "+string(data))
+ case pb.Status_STATUS_VALIDATION_ERROR:
+ logger.Errorf("%s: Validate: %s\n", pipelineId, err.Error())
- // set to cache pipelineId: cache.SubKey_Status:
pb.Status_STATUS_ERROR
- setToCache(ctx, cacheService, pipelineId, cache.Status,
pb.Status_STATUS_ERROR)
+ // set to cache pipelineId: cache.SubKey_Status:
pb.Status_STATUS_VALIDATION_ERROR
+ setToCache(ctx, cacheService, pipelineId, cache.Status,
pb.Status_STATUS_VALIDATION_ERROR)
case pb.Status_STATUS_COMPILE_ERROR:
logger.Errorf("%s: Compile: err: %s, output: %s\n", pipelineId,
err.Error(), data)
@@ -287,12 +281,25 @@ func processError(ctx context.Context, err error, data
[]byte, pipelineId uuid.U
// set to cache pipelineId: cache.SubKey_Status:
pb.Status_STATUS_ERROR
setToCache(ctx, cacheService, pipelineId, cache.Status,
pb.Status_STATUS_COMPILE_ERROR)
+ case pb.Status_STATUS_ERROR:
+ logger.Errorf("%s: Run: err: %s, output: %s\n", pipelineId,
err.Error(), data)
+
+ // set to cache pipelineId: cache.SubKey_RunOutput: err.Error()
+ setToCache(ctx, cacheService, pipelineId, cache.RunOutput,
"error: "+err.Error()+", output: "+string(data))
+
+ // set to cache pipelineId: cache.SubKey_Status:
pb.Status_STATUS_ERROR
+ setToCache(ctx, cacheService, pipelineId, cache.Status,
pb.Status_STATUS_ERROR)
}
}
// processSuccess processes case after successful code processing via setting
a corresponding status and output to cache
func processSuccess(ctx context.Context, output []byte, pipelineId uuid.UUID,
cacheService cache.Cache, status pb.Status) {
switch status {
+ case pb.Status_STATUS_COMPILING:
+ logger.Infof("%s: Validate() finish\n", pipelineId)
+
+ // set to cache pipelineId: cache.SubKey_Status:
pb.Status_STATUS_EXECUTING
+ setToCache(ctx, cacheService, pipelineId, cache.Status,
pb.Status_STATUS_COMPILING)
case pb.Status_STATUS_EXECUTING:
logger.Infof("%s: Compile() finish\n", pipelineId)
diff --git a/playground/backend/cmd/server/controller_test.go
b/playground/backend/cmd/server/controller_test.go
index b5526d1..251fab8 100644
--- a/playground/backend/cmd/server/controller_test.go
+++ b/playground/backend/cmd/server/controller_test.go
@@ -139,7 +139,7 @@ func TestPlaygroundController_RunCode(t *testing.T) {
},
{
// Test case with calling RunCode method with correct
SDK.
- // As a result want to receive response with pipelineId
and status into cache should be set as Status_STATUS_EXECUTING.
+ // As a result want to receive response with pipelineId
and status into cache should be set as Status_STATUS_COMPILING.
name: "RunCode with correct sdk",
args: args{
ctx: context.Background(),
@@ -148,7 +148,7 @@ func TestPlaygroundController_RunCode(t *testing.T) {
Sdk: pb.Sdk_SDK_JAVA,
},
},
- wantStatus: pb.Status_STATUS_EXECUTING,
+ wantStatus: pb.Status_STATUS_COMPILING,
wantErr: false,
},
}
@@ -425,11 +425,11 @@ func Test_processCode(t *testing.T) {
}{
{
// Test case with calling processCode method without
preparing files with code.
- // As a result status into cache should be set as
Status_STATUS_ERROR.
+ // As a result status into cache should be set as
Status_STATUS_VALIDATION_ERROR.
name: "validation failed",
createExecFile: false,
code: "",
- expectedStatus: pb.Status_STATUS_ERROR,
+ expectedStatus:
pb.Status_STATUS_VALIDATION_ERROR,
expectedCompileOutput: nil,
expectedRunOutput: nil,
args: args{
diff --git a/playground/backend/internal/api/v1/api.pb.go
b/playground/backend/internal/api/v1/api.pb.go
index a2844c7..0376ff9 100644
--- a/playground/backend/internal/api/v1/api.pb.go
+++ b/playground/backend/internal/api/v1/api.pb.go
@@ -95,31 +95,40 @@ func (Sdk) EnumDescriptor() ([]byte, []int) {
type Status int32
const (
- Status_STATUS_UNSPECIFIED Status = 0
- Status_STATUS_EXECUTING Status = 1
- Status_STATUS_FINISHED Status = 2
- Status_STATUS_ERROR Status = 3
- Status_STATUS_COMPILE_ERROR Status = 4
- Status_STATUS_RUN_TIMEOUT Status = 5
+ Status_STATUS_UNSPECIFIED Status = 0
+ Status_STATUS_VALIDATING Status = 1
+ Status_STATUS_VALIDATION_ERROR Status = 2
+ Status_STATUS_COMPILING Status = 3
+ Status_STATUS_COMPILE_ERROR Status = 4
+ Status_STATUS_EXECUTING Status = 5
+ Status_STATUS_FINISHED Status = 6
+ Status_STATUS_ERROR Status = 7
+ Status_STATUS_RUN_TIMEOUT Status = 8
)
// Enum value maps for Status.
var (
Status_name = map[int32]string{
0: "STATUS_UNSPECIFIED",
- 1: "STATUS_EXECUTING",
- 2: "STATUS_FINISHED",
- 3: "STATUS_ERROR",
+ 1: "STATUS_VALIDATING",
+ 2: "STATUS_VALIDATION_ERROR",
+ 3: "STATUS_COMPILING",
4: "STATUS_COMPILE_ERROR",
- 5: "STATUS_RUN_TIMEOUT",
+ 5: "STATUS_EXECUTING",
+ 6: "STATUS_FINISHED",
+ 7: "STATUS_ERROR",
+ 8: "STATUS_RUN_TIMEOUT",
}
Status_value = map[string]int32{
- "STATUS_UNSPECIFIED": 0,
- "STATUS_EXECUTING": 1,
- "STATUS_FINISHED": 2,
- "STATUS_ERROR": 3,
- "STATUS_COMPILE_ERROR": 4,
- "STATUS_RUN_TIMEOUT": 5,
+ "STATUS_UNSPECIFIED": 0,
+ "STATUS_VALIDATING": 1,
+ "STATUS_VALIDATION_ERROR": 2,
+ "STATUS_COMPILING": 3,
+ "STATUS_COMPILE_ERROR": 4,
+ "STATUS_EXECUTING": 5,
+ "STATUS_FINISHED": 6,
+ "STATUS_ERROR": 7,
+ "STATUS_RUN_TIMEOUT": 8,
}
)
@@ -605,40 +614,44 @@ var file_api_v1_api_proto_rawDesc = []byte{
0x44, 0x4b, 0x5f, 0x4a, 0x41, 0x56, 0x41, 0x10, 0x01, 0x12, 0x0a, 0x0a,
0x06, 0x53, 0x44, 0x4b,
0x5f, 0x47, 0x4f, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x44, 0x4b,
0x5f, 0x50, 0x59, 0x54,
0x48, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x44, 0x4b,
0x5f, 0x53, 0x43, 0x49,
- 0x4f, 0x10, 0x04, 0x2a, 0x8f, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x16,
+ 0x4f, 0x10, 0x04, 0x2a, 0xd9, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x16,
0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49,
- 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54,
0x41, 0x54, 0x55, 0x53,
- 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01,
0x12, 0x13, 0x0a, 0x0f,
- 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
0x48, 0x45, 0x44, 0x10,
- 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
0x45, 0x52, 0x52, 0x4f,
- 0x52, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x54, 0x55,
0x53, 0x5f, 0x43, 0x4f,
- 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
0x04, 0x12, 0x16, 0x0a,
- 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x5f,
0x54, 0x49, 0x4d, 0x45,
- 0x4f, 0x55, 0x54, 0x10, 0x05, 0x32, 0xb9, 0x02, 0x0a, 0x11, 0x50, 0x6c,
0x61, 0x79, 0x67, 0x72,
- 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x3a, 0x0a, 0x07, 0x52,
- 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e,
- 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x17,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43,
0x6f, 0x64, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x43,
0x68, 0x65, 0x63, 0x6b,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e,
0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12,
- 0x49, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74,
0x70, 0x75, 0x74, 0x12,
- 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x52, 0x75, 0x6e, 0x4f,
- 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1c, 0x2e, 0x61,
- 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e,
0x4f, 0x75, 0x74, 0x70,
- 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55,
0x0a, 0x10, 0x47, 0x65,
- 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70,
0x75, 0x74, 0x12, 0x1f,
- 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43,
0x6f, 0x6d, 0x70, 0x69,
- 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a,
- 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x43, 0x6f, 0x6d, 0x70,
- 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x42, 0x38, 0x5a, 0x36, 0x62, 0x65, 0x61, 0x6d, 0x2e, 0x61, 0x70,
0x61, 0x63, 0x68, 0x65,
- 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f,
0x75, 0x6e, 0x64, 0x2f,
- 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c,
- 0x3b, 0x70, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x62,
0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54,
0x41, 0x54, 0x55, 0x53,
+ 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10,
0x01, 0x12, 0x1b, 0x0a,
+ 0x17, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x41, 0x4c, 0x49,
0x44, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x14,
0x0a, 0x10, 0x53, 0x54,
+ 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x49,
0x4e, 0x47, 0x10, 0x03,
+ 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43,
0x4f, 0x4d, 0x50, 0x49,
+ 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14,
0x0a, 0x10, 0x53, 0x54,
+ 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49,
0x4e, 0x47, 0x10, 0x05,
+ 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46,
0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x45, 0x44, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41,
0x54, 0x55, 0x53, 0x5f,
+ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x53,
0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55,
0x54, 0x10, 0x08, 0x32,
+ 0xb9, 0x02, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75,
0x6e, 0x64, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x52, 0x75, 0x6e,
0x43, 0x6f, 0x64, 0x65,
+ 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75,
0x6e, 0x43, 0x6f, 0x64,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x76,
+ 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74,
0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68,
0x65, 0x63, 0x6b, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1b, 0x2e, 0x61,
+ 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53,
0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a,
0x0c, 0x47, 0x65, 0x74,
+ 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1b, 0x2e,
0x61, 0x70, 0x69, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74,
0x70, 0x75, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e,
+ 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43,
0x6f, 0x6d, 0x70, 0x69,
+ 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x76,
+ 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
0x4f, 0x75, 0x74, 0x70,
+ 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
0x61, 0x70, 0x69, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
0x65, 0x4f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
0x38, 0x5a, 0x36, 0x62,
+ 0x65, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f,
0x72, 0x67, 0x2f, 0x70,
+ 0x6c, 0x61, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2f, 0x62, 0x61,
0x63, 0x6b, 0x65, 0x6e,
+ 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x3b, 0x70,
0x6c, 0x61, 0x79, 0x67,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (