text:
Synthesis failed for Dataproc

Hello! Autosynth couldn't regenerate Dataproc. :broken_heart:
Here's the output from running synth.py:
ning: String.strip/1 is deprecated. Use String.trim/1 instead
  /workspace/deps/poison/mix.exs:4

==> poison
Compiling 4 files (.ex)
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
  lib/poison/encoder.ex:173

Generated poison app
==> ssl_verify_fun
Compiling 7 files (.erl)
Generated ssl_verify_fun app
===> Compiling certifi
===> Compiling hackney
==> oauth2
Compiling 13 files (.ex)
Generated oauth2 app
==> mime
Compiling 2 files (.ex)
Generated mime app
==> tesla
Compiling 26 files (.ex)
Generated tesla app
==> google_gax
Compiling 5 files (.ex)
Generated google_gax app
==> google_api_discovery
Compiling 21 files (.ex)
Generated google_api_discovery app
==> google_apis
Compiling 27 files (.ex)
warning: System.cwd/0 is deprecated. Use File.cwd/0 instead
  lib/google_apis/publisher.ex:24

Generated google_apis app

12:43:50.086 [info]  FETCHING: https://dataproc.googleapis.com/$discovery/GOOGLE_REST_SIMPLE_URI?version=v1

12:43:50.229 [info]  FOUND: https://dataproc.googleapis.com/$discovery/GOOGLE_REST_SIMPLE_URI?version=v1
Revision check: old=20200511, new=20200511, generating=true
Creating leading directories
Writing AcceleratorConfig to clients/dataproc/lib/google_api/dataproc/v1/model/accelerator_config.ex.
Writing AutoscalingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/autoscaling_config.ex.
Writing AutoscalingPolicy to clients/dataproc/lib/google_api/dataproc/v1/model/autoscaling_policy.ex.
Writing BasicAutoscalingAlgorithm to clients/dataproc/lib/google_api/dataproc/v1/model/basic_autoscaling_algorithm.ex.
Writing BasicYarnAutoscalingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/basic_yarn_autoscaling_config.ex.
Writing Binding to clients/dataproc/lib/google_api/dataproc/v1/model/binding.ex.
Writing CancelJobRequest to clients/dataproc/lib/google_api/dataproc/v1/model/cancel_job_request.ex.
Writing Cluster to clients/dataproc/lib/google_api/dataproc/v1/model/cluster.ex.
Writing ClusterConfig to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_config.ex.
Writing ClusterMetrics to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_metrics.ex.
Writing ClusterOperation to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation.ex.
Writing ClusterOperationMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation_metadata.ex.
Writing ClusterOperationStatus to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation_status.ex.
Writing ClusterSelector to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_selector.ex.
Writing ClusterStatus to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_status.ex.
Writing DiagnoseClusterRequest to clients/dataproc/lib/google_api/dataproc/v1/model/diagnose_cluster_request.ex.
Writing DiagnoseClusterResults to clients/dataproc/lib/google_api/dataproc/v1/model/diagnose_cluster_results.ex.
Writing DiskConfig to clients/dataproc/lib/google_api/dataproc/v1/model/disk_config.ex.
Writing Empty to clients/dataproc/lib/google_api/dataproc/v1/model/empty.ex.
Writing EncryptionConfig to clients/dataproc/lib/google_api/dataproc/v1/model/encryption_config.ex.
Writing Expr to clients/dataproc/lib/google_api/dataproc/v1/model/expr.ex.
Writing GceClusterConfig to clients/dataproc/lib/google_api/dataproc/v1/model/gce_cluster_config.ex.
Writing GetIamPolicyRequest to clients/dataproc/lib/google_api/dataproc/v1/model/get_iam_policy_request.ex.
Writing GetPolicyOptions to clients/dataproc/lib/google_api/dataproc/v1/model/get_policy_options.ex.
Writing HadoopJob to clients/dataproc/lib/google_api/dataproc/v1/model/hadoop_job.ex.
Writing HiveJob to clients/dataproc/lib/google_api/dataproc/v1/model/hive_job.ex.
Writing InstanceGroupAutoscalingPolicyConfig to clients/dataproc/lib/google_api/dataproc/v1/model/instance_group_autoscaling_policy_config.ex.
Writing InstanceGroupConfig to clients/dataproc/lib/google_api/dataproc/v1/model/instance_group_config.ex.
Writing InstantiateWorkflowTemplateRequest to clients/dataproc/lib/google_api/dataproc/v1/model/instantiate_workflow_template_request.ex.
Writing Job to clients/dataproc/lib/google_api/dataproc/v1/model/job.ex.
Writing JobMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/job_metadata.ex.
Writing JobPlacement to clients/dataproc/lib/google_api/dataproc/v1/model/job_placement.ex.
Writing JobReference to clients/dataproc/lib/google_api/dataproc/v1/model/job_reference.ex.
Writing JobScheduling to clients/dataproc/lib/google_api/dataproc/v1/model/job_scheduling.ex.
Writing JobStatus to clients/dataproc/lib/google_api/dataproc/v1/model/job_status.ex.
Writing KerberosConfig to clients/dataproc/lib/google_api/dataproc/v1/model/kerberos_config.ex.
Writing LifecycleConfig to clients/dataproc/lib/google_api/dataproc/v1/model/lifecycle_config.ex.
Writing ListAutoscalingPoliciesResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_autoscaling_policies_response.ex.
Writing ListClustersResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_clusters_response.ex.
Writing ListJobsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_jobs_response.ex.
Writing ListOperationsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_operations_response.ex.
Writing ListWorkflowTemplatesResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_workflow_templates_response.ex.
Writing LoggingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/logging_config.ex.
Writing ManagedCluster to clients/dataproc/lib/google_api/dataproc/v1/model/managed_cluster.ex.
Writing ManagedGroupConfig to clients/dataproc/lib/google_api/dataproc/v1/model/managed_group_config.ex.
Writing NodeInitializationAction to clients/dataproc/lib/google_api/dataproc/v1/model/node_initialization_action.ex.
Writing Operation to clients/dataproc/lib/google_api/dataproc/v1/model/operation.ex.
Writing OrderedJob to clients/dataproc/lib/google_api/dataproc/v1/model/ordered_job.ex.
Writing ParameterValidation to clients/dataproc/lib/google_api/dataproc/v1/model/parameter_validation.ex.
Writing PigJob to clients/dataproc/lib/google_api/dataproc/v1/model/pig_job.ex.
Writing Policy to clients/dataproc/lib/google_api/dataproc/v1/model/policy.ex.
Writing PrestoJob to clients/dataproc/lib/google_api/dataproc/v1/model/presto_job.ex.
Writing PySparkJob to clients/dataproc/lib/google_api/dataproc/v1/model/py_spark_job.ex.
Writing QueryList to clients/dataproc/lib/google_api/dataproc/v1/model/query_list.ex.
Writing RegexValidation to clients/dataproc/lib/google_api/dataproc/v1/model/regex_validation.ex.
Writing ReservationAffinity to clients/dataproc/lib/google_api/dataproc/v1/model/reservation_affinity.ex.
Writing SecurityConfig to clients/dataproc/lib/google_api/dataproc/v1/model/security_config.ex.
Writing SetIamPolicyRequest to clients/dataproc/lib/google_api/dataproc/v1/model/set_iam_policy_request.ex.
Writing SoftwareConfig to clients/dataproc/lib/google_api/dataproc/v1/model/software_config.ex.
Writing SparkJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_job.ex.
Writing SparkRJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_r_job.ex.
Writing SparkSqlJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_sql_job.ex.
Writing Status to clients/dataproc/lib/google_api/dataproc/v1/model/status.ex.
Writing SubmitJobRequest to clients/dataproc/lib/google_api/dataproc/v1/model/submit_job_request.ex.
Writing TemplateParameter to clients/dataproc/lib/google_api/dataproc/v1/model/template_parameter.ex.
Writing TestIamPermissionsRequest to clients/dataproc/lib/google_api/dataproc/v1/model/test_iam_permissions_request.ex.
Writing TestIamPermissionsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/test_iam_permissions_response.ex.
Writing ValueValidation to clients/dataproc/lib/google_api/dataproc/v1/model/value_validation.ex.
Writing WorkflowGraph to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_graph.ex.
Writing WorkflowMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_metadata.ex.
Writing WorkflowNode to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_node.ex.
Writing WorkflowTemplate to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_template.ex.
Writing WorkflowTemplatePlacement to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_template_placement.ex.
Writing YarnApplication to clients/dataproc/lib/google_api/dataproc/v1/model/yarn_application.ex.
Writing Projects to clients/dataproc/lib/google_api/dataproc/v1/api/projects.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs

12:43:50.847 [info]  Found only discovery_revision and/or formatting changes. Not significant enough for a PR.
fixing file permissions
2020-06-06 05:43:53,894 synthtool [DEBUG] > Wrote metadata to clients/dataproc/synth.metadata.
DEBUG:synthtool:Wrote metadata to clients/dataproc/synth.metadata.
2020-06-06 05:43:53,922 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 555, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 121, in synthesize
    with open(log_file_path, "rt") as fp:
IsADirectoryError: [Errno 21] Is a directory: '/tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api'

Google internal developers can see the full log here.

Autosynth is still having trouble generating Dataproc. :sob:
Here's the output from running synth.py:
ning: String.strip/1 is deprecated. Use String.trim/1 instead
  /workspace/deps/poison/mix.exs:4

==> poison
Compiling 4 files (.ex)
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
  lib/poison/encoder.ex:173

Generated poison app
==> ssl_verify_fun
Compiling 7 files (.erl)
Generated ssl_verify_fun app
===> Compiling certifi
===> Compiling hackney
==> oauth2
Compiling 13 files (.ex)
Generated oauth2 app
==> mime
Compiling 2 files (.ex)
Generated mime app
==> tesla
Compiling 26 files (.ex)
Generated tesla app
==> google_gax
Compiling 5 files (.ex)
Generated google_gax app
==> google_api_discovery
Compiling 21 files (.ex)
Generated google_api_discovery app
==> google_apis
Compiling 27 files (.ex)
warning: System.cwd/0 is deprecated. Use File.cwd/0 instead
  lib/google_apis/publisher.ex:24

Generated google_apis app

12:39:12.394 [info]  FETCHING: https://dataproc.googleapis.com/$discovery/GOOGLE_REST_SIMPLE_URI?version=v1

12:39:12.536 [info]  FOUND: https://dataproc.googleapis.com/$discovery/GOOGLE_REST_SIMPLE_URI?version=v1
Revision check: old=20200511, new=20200511, generating=true
Creating leading directories
Writing AcceleratorConfig to clients/dataproc/lib/google_api/dataproc/v1/model/accelerator_config.ex.
Writing AutoscalingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/autoscaling_config.ex.
Writing AutoscalingPolicy to clients/dataproc/lib/google_api/dataproc/v1/model/autoscaling_policy.ex.
Writing BasicAutoscalingAlgorithm to clients/dataproc/lib/google_api/dataproc/v1/model/basic_autoscaling_algorithm.ex.
Writing BasicYarnAutoscalingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/basic_yarn_autoscaling_config.ex.
Writing Binding to clients/dataproc/lib/google_api/dataproc/v1/model/binding.ex.
Writing CancelJobRequest to clients/dataproc/lib/google_api/dataproc/v1/model/cancel_job_request.ex.
Writing Cluster to clients/dataproc/lib/google_api/dataproc/v1/model/cluster.ex.
Writing ClusterConfig to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_config.ex.
Writing ClusterMetrics to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_metrics.ex.
Writing ClusterOperation to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation.ex.
Writing ClusterOperationMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation_metadata.ex.
Writing ClusterOperationStatus to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation_status.ex.
Writing ClusterSelector to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_selector.ex.
Writing ClusterStatus to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_status.ex.
Writing DiagnoseClusterRequest to clients/dataproc/lib/google_api/dataproc/v1/model/diagnose_cluster_request.ex.
Writing DiagnoseClusterResults to clients/dataproc/lib/google_api/dataproc/v1/model/diagnose_cluster_results.ex.
Writing DiskConfig to clients/dataproc/lib/google_api/dataproc/v1/model/disk_config.ex.
Writing Empty to clients/dataproc/lib/google_api/dataproc/v1/model/empty.ex.
Writing EncryptionConfig to clients/dataproc/lib/google_api/dataproc/v1/model/encryption_config.ex.
Writing Expr to clients/dataproc/lib/google_api/dataproc/v1/model/expr.ex.
Writing GceClusterConfig to clients/dataproc/lib/google_api/dataproc/v1/model/gce_cluster_config.ex.
Writing GetIamPolicyRequest to clients/dataproc/lib/google_api/dataproc/v1/model/get_iam_policy_request.ex.
Writing GetPolicyOptions to clients/dataproc/lib/google_api/dataproc/v1/model/get_policy_options.ex.
Writing HadoopJob to clients/dataproc/lib/google_api/dataproc/v1/model/hadoop_job.ex.
Writing HiveJob to clients/dataproc/lib/google_api/dataproc/v1/model/hive_job.ex.
Writing InstanceGroupAutoscalingPolicyConfig to clients/dataproc/lib/google_api/dataproc/v1/model/instance_group_autoscaling_policy_config.ex.
Writing InstanceGroupConfig to clients/dataproc/lib/google_api/dataproc/v1/model/instance_group_config.ex.
Writing InstantiateWorkflowTemplateRequest to clients/dataproc/lib/google_api/dataproc/v1/model/instantiate_workflow_template_request.ex.
Writing Job to clients/dataproc/lib/google_api/dataproc/v1/model/job.ex.
Writing JobMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/job_metadata.ex.
Writing JobPlacement to clients/dataproc/lib/google_api/dataproc/v1/model/job_placement.ex.
Writing JobReference to clients/dataproc/lib/google_api/dataproc/v1/model/job_reference.ex.
Writing JobScheduling to clients/dataproc/lib/google_api/dataproc/v1/model/job_scheduling.ex.
Writing JobStatus to clients/dataproc/lib/google_api/dataproc/v1/model/job_status.ex.
Writing KerberosConfig to clients/dataproc/lib/google_api/dataproc/v1/model/kerberos_config.ex.
Writing LifecycleConfig to clients/dataproc/lib/google_api/dataproc/v1/model/lifecycle_config.ex.
Writing ListAutoscalingPoliciesResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_autoscaling_policies_response.ex.
Writing ListClustersResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_clusters_response.ex.
Writing ListJobsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_jobs_response.ex.
Writing ListOperationsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_operations_response.ex.
Writing ListWorkflowTemplatesResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_workflow_templates_response.ex.
Writing LoggingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/logging_config.ex.
Writing ManagedCluster to clients/dataproc/lib/google_api/dataproc/v1/model/managed_cluster.ex.
Writing ManagedGroupConfig to clients/dataproc/lib/google_api/dataproc/v1/model/managed_group_config.ex.
Writing NodeInitializationAction to clients/dataproc/lib/google_api/dataproc/v1/model/node_initialization_action.ex.
Writing Operation to clients/dataproc/lib/google_api/dataproc/v1/model/operation.ex.
Writing OrderedJob to clients/dataproc/lib/google_api/dataproc/v1/model/ordered_job.ex.
Writing ParameterValidation to clients/dataproc/lib/google_api/dataproc/v1/model/parameter_validation.ex.
Writing PigJob to clients/dataproc/lib/google_api/dataproc/v1/model/pig_job.ex.
Writing Policy to clients/dataproc/lib/google_api/dataproc/v1/model/policy.ex.
Writing PrestoJob to clients/dataproc/lib/google_api/dataproc/v1/model/presto_job.ex.
Writing PySparkJob to clients/dataproc/lib/google_api/dataproc/v1/model/py_spark_job.ex.
Writing QueryList to clients/dataproc/lib/google_api/dataproc/v1/model/query_list.ex.
Writing RegexValidation to clients/dataproc/lib/google_api/dataproc/v1/model/regex_validation.ex.
Writing ReservationAffinity to clients/dataproc/lib/google_api/dataproc/v1/model/reservation_affinity.ex.
Writing SecurityConfig to clients/dataproc/lib/google_api/dataproc/v1/model/security_config.ex.
Writing SetIamPolicyRequest to clients/dataproc/lib/google_api/dataproc/v1/model/set_iam_policy_request.ex.
Writing SoftwareConfig to clients/dataproc/lib/google_api/dataproc/v1/model/software_config.ex.
Writing SparkJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_job.ex.
Writing SparkRJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_r_job.ex.
Writing SparkSqlJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_sql_job.ex.
Writing Status to clients/dataproc/lib/google_api/dataproc/v1/model/status.ex.
Writing SubmitJobRequest to clients/dataproc/lib/google_api/dataproc/v1/model/submit_job_request.ex.
Writing TemplateParameter to clients/dataproc/lib/google_api/dataproc/v1/model/template_parameter.ex.
Writing TestIamPermissionsRequest to clients/dataproc/lib/google_api/dataproc/v1/model/test_iam_permissions_request.ex.
Writing TestIamPermissionsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/test_iam_permissions_response.ex.
Writing ValueValidation to clients/dataproc/lib/google_api/dataproc/v1/model/value_validation.ex.
Writing WorkflowGraph to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_graph.ex.
Writing WorkflowMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_metadata.ex.
Writing WorkflowNode to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_node.ex.
Writing WorkflowTemplate to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_template.ex.
Writing WorkflowTemplatePlacement to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_template_placement.ex.
Writing YarnApplication to clients/dataproc/lib/google_api/dataproc/v1/model/yarn_application.ex.
Writing Projects to clients/dataproc/lib/google_api/dataproc/v1/api/projects.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs

12:39:13.125 [info]  Found only discovery_revision and/or formatting changes. Not significant enough for a PR.
fixing file permissions
2020-06-07 05:39:16,203 synthtool [DEBUG] > Wrote metadata to clients/dataproc/synth.metadata.
DEBUG:synthtool:Wrote metadata to clients/dataproc/synth.metadata.
2020-06-07 05:39:16,226 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 555, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 121, in synthesize
    with open(log_file_path, "rt") as fp:
IsADirectoryError: [Errno 21] Is a directory: '/tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api'

Google internal developers can see the full log here.

Autosynth is still having trouble generating Dataproc. :sob:
Here's the output from running synth.py:
ning: String.strip/1 is deprecated. Use String.trim/1 instead
  /workspace/deps/poison/mix.exs:4

==> poison
Compiling 4 files (.ex)
warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead
  lib/poison/encoder.ex:173

Generated poison app
==> ssl_verify_fun
Compiling 7 files (.erl)
Generated ssl_verify_fun app
===> Compiling certifi
===> Compiling hackney
==> oauth2
Compiling 13 files (.ex)
Generated oauth2 app
==> mime
Compiling 2 files (.ex)
Generated mime app
==> tesla
Compiling 26 files (.ex)
Generated tesla app
==> google_gax
Compiling 5 files (.ex)
Generated google_gax app
==> google_api_discovery
Compiling 21 files (.ex)
Generated google_api_discovery app
==> google_apis
Compiling 27 files (.ex)
warning: System.cwd/0 is deprecated. Use File.cwd/0 instead
  lib/google_apis/publisher.ex:24

Generated google_apis app

12:39:17.371 [info]  FETCHING: https://dataproc.googleapis.com/$discovery/GOOGLE_REST_SIMPLE_URI?version=v1

12:39:17.549 [info]  FOUND: https://dataproc.googleapis.com/$discovery/GOOGLE_REST_SIMPLE_URI?version=v1
Revision check: old=20200511, new=20200511, generating=true
Creating leading directories
Writing AcceleratorConfig to clients/dataproc/lib/google_api/dataproc/v1/model/accelerator_config.ex.
Writing AutoscalingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/autoscaling_config.ex.
Writing AutoscalingPolicy to clients/dataproc/lib/google_api/dataproc/v1/model/autoscaling_policy.ex.
Writing BasicAutoscalingAlgorithm to clients/dataproc/lib/google_api/dataproc/v1/model/basic_autoscaling_algorithm.ex.
Writing BasicYarnAutoscalingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/basic_yarn_autoscaling_config.ex.
Writing Binding to clients/dataproc/lib/google_api/dataproc/v1/model/binding.ex.
Writing CancelJobRequest to clients/dataproc/lib/google_api/dataproc/v1/model/cancel_job_request.ex.
Writing Cluster to clients/dataproc/lib/google_api/dataproc/v1/model/cluster.ex.
Writing ClusterConfig to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_config.ex.
Writing ClusterMetrics to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_metrics.ex.
Writing ClusterOperation to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation.ex.
Writing ClusterOperationMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation_metadata.ex.
Writing ClusterOperationStatus to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_operation_status.ex.
Writing ClusterSelector to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_selector.ex.
Writing ClusterStatus to clients/dataproc/lib/google_api/dataproc/v1/model/cluster_status.ex.
Writing DiagnoseClusterRequest to clients/dataproc/lib/google_api/dataproc/v1/model/diagnose_cluster_request.ex.
Writing DiagnoseClusterResults to clients/dataproc/lib/google_api/dataproc/v1/model/diagnose_cluster_results.ex.
Writing DiskConfig to clients/dataproc/lib/google_api/dataproc/v1/model/disk_config.ex.
Writing Empty to clients/dataproc/lib/google_api/dataproc/v1/model/empty.ex.
Writing EncryptionConfig to clients/dataproc/lib/google_api/dataproc/v1/model/encryption_config.ex.
Writing Expr to clients/dataproc/lib/google_api/dataproc/v1/model/expr.ex.
Writing GceClusterConfig to clients/dataproc/lib/google_api/dataproc/v1/model/gce_cluster_config.ex.
Writing GetIamPolicyRequest to clients/dataproc/lib/google_api/dataproc/v1/model/get_iam_policy_request.ex.
Writing GetPolicyOptions to clients/dataproc/lib/google_api/dataproc/v1/model/get_policy_options.ex.
Writing HadoopJob to clients/dataproc/lib/google_api/dataproc/v1/model/hadoop_job.ex.
Writing HiveJob to clients/dataproc/lib/google_api/dataproc/v1/model/hive_job.ex.
Writing InstanceGroupAutoscalingPolicyConfig to clients/dataproc/lib/google_api/dataproc/v1/model/instance_group_autoscaling_policy_config.ex.
Writing InstanceGroupConfig to clients/dataproc/lib/google_api/dataproc/v1/model/instance_group_config.ex.
Writing InstantiateWorkflowTemplateRequest to clients/dataproc/lib/google_api/dataproc/v1/model/instantiate_workflow_template_request.ex.
Writing Job to clients/dataproc/lib/google_api/dataproc/v1/model/job.ex.
Writing JobMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/job_metadata.ex.
Writing JobPlacement to clients/dataproc/lib/google_api/dataproc/v1/model/job_placement.ex.
Writing JobReference to clients/dataproc/lib/google_api/dataproc/v1/model/job_reference.ex.
Writing JobScheduling to clients/dataproc/lib/google_api/dataproc/v1/model/job_scheduling.ex.
Writing JobStatus to clients/dataproc/lib/google_api/dataproc/v1/model/job_status.ex.
Writing KerberosConfig to clients/dataproc/lib/google_api/dataproc/v1/model/kerberos_config.ex.
Writing LifecycleConfig to clients/dataproc/lib/google_api/dataproc/v1/model/lifecycle_config.ex.
Writing ListAutoscalingPoliciesResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_autoscaling_policies_response.ex.
Writing ListClustersResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_clusters_response.ex.
Writing ListJobsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_jobs_response.ex.
Writing ListOperationsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_operations_response.ex.
Writing ListWorkflowTemplatesResponse to clients/dataproc/lib/google_api/dataproc/v1/model/list_workflow_templates_response.ex.
Writing LoggingConfig to clients/dataproc/lib/google_api/dataproc/v1/model/logging_config.ex.
Writing ManagedCluster to clients/dataproc/lib/google_api/dataproc/v1/model/managed_cluster.ex.
Writing ManagedGroupConfig to clients/dataproc/lib/google_api/dataproc/v1/model/managed_group_config.ex.
Writing NodeInitializationAction to clients/dataproc/lib/google_api/dataproc/v1/model/node_initialization_action.ex.
Writing Operation to clients/dataproc/lib/google_api/dataproc/v1/model/operation.ex.
Writing OrderedJob to clients/dataproc/lib/google_api/dataproc/v1/model/ordered_job.ex.
Writing ParameterValidation to clients/dataproc/lib/google_api/dataproc/v1/model/parameter_validation.ex.
Writing PigJob to clients/dataproc/lib/google_api/dataproc/v1/model/pig_job.ex.
Writing Policy to clients/dataproc/lib/google_api/dataproc/v1/model/policy.ex.
Writing PrestoJob to clients/dataproc/lib/google_api/dataproc/v1/model/presto_job.ex.
Writing PySparkJob to clients/dataproc/lib/google_api/dataproc/v1/model/py_spark_job.ex.
Writing QueryList to clients/dataproc/lib/google_api/dataproc/v1/model/query_list.ex.
Writing RegexValidation to clients/dataproc/lib/google_api/dataproc/v1/model/regex_validation.ex.
Writing ReservationAffinity to clients/dataproc/lib/google_api/dataproc/v1/model/reservation_affinity.ex.
Writing SecurityConfig to clients/dataproc/lib/google_api/dataproc/v1/model/security_config.ex.
Writing SetIamPolicyRequest to clients/dataproc/lib/google_api/dataproc/v1/model/set_iam_policy_request.ex.
Writing SoftwareConfig to clients/dataproc/lib/google_api/dataproc/v1/model/software_config.ex.
Writing SparkJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_job.ex.
Writing SparkRJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_r_job.ex.
Writing SparkSqlJob to clients/dataproc/lib/google_api/dataproc/v1/model/spark_sql_job.ex.
Writing Status to clients/dataproc/lib/google_api/dataproc/v1/model/status.ex.
Writing SubmitJobRequest to clients/dataproc/lib/google_api/dataproc/v1/model/submit_job_request.ex.
Writing TemplateParameter to clients/dataproc/lib/google_api/dataproc/v1/model/template_parameter.ex.
Writing TestIamPermissionsRequest to clients/dataproc/lib/google_api/dataproc/v1/model/test_iam_permissions_request.ex.
Writing TestIamPermissionsResponse to clients/dataproc/lib/google_api/dataproc/v1/model/test_iam_permissions_response.ex.
Writing ValueValidation to clients/dataproc/lib/google_api/dataproc/v1/model/value_validation.ex.
Writing WorkflowGraph to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_graph.ex.
Writing WorkflowMetadata to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_metadata.ex.
Writing WorkflowNode to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_node.ex.
Writing WorkflowTemplate to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_template.ex.
Writing WorkflowTemplatePlacement to clients/dataproc/lib/google_api/dataproc/v1/model/workflow_template_placement.ex.
Writing YarnApplication to clients/dataproc/lib/google_api/dataproc/v1/model/yarn_application.ex.
Writing Projects to clients/dataproc/lib/google_api/dataproc/v1/api/projects.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs

12:39:18.176 [info]  Found only discovery_revision and/or formatting changes. Not significant enough for a PR.
fixing file permissions
2020-06-08 05:39:20,747 synthtool [DEBUG] > Wrote metadata to clients/dataproc/synth.metadata.
DEBUG:synthtool:Wrote metadata to clients/dataproc/synth.metadata.
2020-06-08 05:39:20,775 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 615, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 476, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 555, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 121, in synthesize
    with open(log_file_path, "rt") as fp:
IsADirectoryError: [Errno 21] Is a directory: '/tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api'

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:

repo: googleapis/elixir-google-api


text:
Regenerate Speech client

This PR was generated using Autosynth. :rainbow:
Here's the log from Synthtool:
synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py.
synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace gcr.io/cloud-devrel-public-resources/elixir16 scripts/generate_client.sh Speech
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/metadata.py", line 63, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/Speech/synth.metadata'

Probably a case of #1210 causing a reordering.

source: gharchive/pull-request

authors: dazuma yoshi-automation

license_type: permissive

license_source: bigquery


text:
code formatters sometimes break up sample metadata into multiple lines

When we have a very long sample metadata:
// sample-metadata:
//   title: Transcribe Audio File using Long Running Operation (Local File) (LRO)
//   description: Transcribe a long audio file using asynchronous speech recognition
//   usage: gradle run -PmainClass=com.google.cloud.examples.speech.v1.SpeechTranscribeAsync [--args='[--local_file_path "resources/brooklyn_bridge.raw"]']

Formatters will think the last line is a comment because, well, it is a comment, and break it up:
// sample-metadata:
//   title: Transcribe Audio File using Long Running Operation (Local File) (LRO)
//   description: Transcribe a long audio file using asynchronous speech recognition
//   usage: gradle run -PmainClass=com.google.cloud.examples.speech.v1.SpeechTranscribeAsync
// [--args='[--local_file_path "resources/brooklyn_bridge.raw"]']

And therefore the YAML structure is broken.
While we can manually check line length and break the line up in the generator in a valid YAML syntax, it is quite lousy and probably hard to satisfy different languages.
The best way to solve this problem should be moving the metadata to the sample manifest file, because it is a real YAML :)

cc/ @googleapis/samplegen Feel free to bump the priority.

There's been some very casual mention of having the metadata live in the manifest file, which would be the ideal place for it, especially since we already have it.
As I understand it, we are blocked on having the tooling that relies on the current metadata location changing to also get the metadata from manifest files. After that, we can do this.
I don't think this is a blocker for our "1.2" launch. Agreed?

moved to backlog: https://github.com/googleapis/gapic-generator/wiki/feature-backlog

source: gharchive/issue

authors: hzyi-google vchudnov-g

repo: googleapis/gapic-generator

license_source: github-api


text:
node: simplify inner call initialization

This PR makes initialization of this._innerApiCalls just a little bit more readable by replacing arguments with a rest parameter syntax (...args). No changes in behavior intended.
Note: more changes to the generation code will follow, this one is just the first and the most minor one.

👋 I have a petty ask.  Every time we make one of these changes to the generator, it comes with a corresponding 42 PRs by autosynth.  If you expect to line up a few of these ... can we do the work in a branch, and then bring it over to master when ready?  If you're looking to make these small and incremental to reduce risk to the generated libs, that's cool too.  Just looking to optimize for laziness 🙃

Hi @JustinBeckwith! We're going have more of small changes during the upcoming week. I was actually going to be cautious and merge them one by one, but I totally get the idea of minimizing the number of synthtool PRs to merge.
This particular one does not block any of our work (it's just a cosmetic change) so I'm totally fine if it waits for some bigger change to come. For bigger changes such as the upcoming change of the logic of protobuf loading, I'd still ask you to go through all the 42 PRs :)

@bcoe Yes, I verified that it works locally, and the CI passes. This particular piece of generated code is one of the most complicated code snippets in our libraries, so I'm just trying to make it look simpler :)

This is going to be handled in #2888.

authors: JustinBeckwith alexander-fenster


text:
FLAKE: in windows/quickstart-cmake-dll-presubmit

The first CI run of https://github.com/googleapis/google-cloud-cpp/pull/3802, I saw an unrelated breakage from the windows/quickstart-cmake-dll-presubmit build. I triggered a re-run and it passed:
https://source.cloud.google.com/results/invocations/cb79e1c3-57cd-4420-94bd-467a3971c1e1/targets/cloud-devrel%2Fclient-libraries%2Fcpp%2Fgoogle-cloud-cpp%2Fwindows%2Fquickstart-cmake-dll-presubmit/log
A snippet of the error:
20-04-16T14:25:13.9485942+00:00 Compiling with CMake Debug
[1/2] Building CXX object CMakeFiles\quickstart.dir\quickstart.cc.obj
T:\src\github\google-cloud-cpp\cmake-out\vcpkg-quickstart\installed\x64-windows\include\google/protobuf/stubs/platform_macros.h(134): warning C4005: 'PROTOBUF_USE_DLLS': macro redefinition
T:\src\github\google-cloud-cpp\google\cloud\bigtable\quickstart\quickstart.cc: note: see previous definition of 'PROTOBUF_USE_DLLS'
T:\src\github\google-cloud-cpp\cmake-out\vcpkg-quickstart\installed\x64-windows\include\google/protobuf/stubs/logging.h(102): warning C4251: 'google::protobuf::internal::LogMessage::message_': class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients of class 'google::protobuf::internal::LogMessage'
c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\xstring(4231): note: see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
T:\src\github\google-cloud-cpp\cmake-out\vcpkg-quickstart\installed\x64-windows\include\google/protobuf/io/coded_stream.h(1250): warning C4251: 'google::protobuf::io::CodedOutputStream::default_serialization_deterministic_': struct 'std::atomic<bool>' needs to have dll-interface to be used by clients of class 'google::protobuf::io::CodedOutputStream'
c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\atomic(1817): note: see declaration of 'std::atomic<bool>'
T:\src\github\google-cloud-cpp\cmake-out\vcpkg-quickstart\installed\x64-windows\include\google/protobuf/arena_impl.h(287): warning C4251: 'google::protobuf::internal::ArenaImpl::lifecycle_id_generator_': struct 'std::atomic<__int64>' needs to have dll-interface to be used by clients of class 'google::protobuf::internal::ArenaImpl'

I think those are just the usual warnings in protobuf, the error is here:
2020-04-16T14:26:00.7338546+00:00 DONE
Get-ChildItem : Access is denied
At T:\src\github\google-cloud-cpp\ci\kokoro\windows\build.ps1:106 char:5
+     Get-ChildItem -Recurse -File `
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetChildItemCommand```

A successful build says:

2020-04-16T14:51:39.9357138+00:00 DONE
DONE "============================================="
Thu 04/16/2020 14:51:57.86
[ID: 9162416] Build finished after 366 secs, exit value: 0

This seems like a bug in the CI script, it should ignore errors when trying to cleanup %KOKORO_ARTIFACTS_DIR%

authors: coryan devjgm

repo: googleapis/google-cloud-cpp


text:
Recreating Pubsub topics and subscriptions with the same name in Pubsub Emulator sometimes gives Topic not found exception

We have some integration tests in Asp.NET Core 5 which are publishing messages to pubsub emulator. The pubsub emulator is started in docker container. In order to clear messages in pubsub emulator I'm deleting and recreating the topics and the subscriptions before each test run.
// Delete topic
TopicName topic = new TopicName(EnvironmentVariables.ProjectId, topicName);
publisherService.DeleteTopic(topic);

// Delete subscription
SubscriptionName subscription = new SubscriptionName(EnvironmentVariables.ProjectId, subscriptionName);
subscriberService.DeleteSubscription(subscription);

// Create topic
TopicName topic = new TopicName(EnvironmentVariables.ProjectId, topicName);
publisherService.CreateTopic(topic);

// Create subscription
SubscriptionName subscription = new SubscriptionName(EnvironmentVariables.ProjectId, subscriptionName);
TopicName topic = new TopicName(EnvironmentVariables.ProjectId, topicName);

subscriberService.CreateSubscription(subscription, topic, pushConfig: null, ackDeadlineSeconds: 60);

From 37 tests, 35 are passing and two are failing with exception message:
The active test run was aborted. Reason: Test host process crashed : Unhandled exception. Unhandled exception. **Unhandled exception. Grpc.Core.RpcException: Status(StatusCode="NotFound", Detail="Topic not found",** DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1613729362.707964780","description":"Error received from peer ipv4:127.0.0.1:8085","file":"/var/local/git/grpc/src/core/lib/surface/call.cc","file_line":1068,"grpc_message":"Topic not found","grpc_status":5}")
   at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass0_0`2.<<WithRetry>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Google.Cloud.PubSub.V1.Tasks.ForwardingAwaiter`1.GetResult()
   at Google.Cloud.PubSub.V1.Tasks.Extensions.<>c__DisplayClass5_0`1.<<ConfigureAwaitHideErrors>g__Inner|0>d.MoveNext()
--- End of stack trace from previous location ---
   at Google.Cloud.PubSub.V1.Tasks.ForwardingAwaiter`1.GetResult()
   at Google.Cloud.PubSub.V1.PublisherClientImpl.PublishAsync(PubsubMessage message)
   at Google.Cloud.PubSub.V1.Tasks.ForwardingAwaiter`1.GetResult()
   at Google.Cloud.PubSub.V1.PublisherClientImpl.PublishAsync(PubsubMessage message)

It is strange that the testes are failing when running on github server, locally there is no such exception.
The exception appears in the code that is trying to Create the subscription this code is run after CreateTopic code so I expect the topic to be created.

I strongly suspect that this is a PubSub emulator issue rather than a .NET client library issue, which means I'm unlikely to be able to do more than give a few suggestions, or redirect you to the PubSub support page.
Just to be clear, am I right in saying that the CreateSubscription code does succeed? (I'd expect that to fail if the emulator doesn't know about the topic yet.)
Could you try - if only for the purposes of testing - adding a brief sleep after creating the topic?

Hang on a sec - you say:

The exception appears in the code that is trying to Create the subscription this code is run after CreateTopic code so I expect the topic to be created.

But that doesn't fit with the stack trace you've shown, which shows an exception in PublishAsync. If it's actually CreateSubscription that's failing, then it's relatively simple to add a workaround which tries to create the subscription, and then retries after a short delay if it fails. (You could even make that retry automatic with a suitable CallSettings value.)
But we really need to know which piece of code is failing first.

Yes, sorry for the confusion, yes it is actually appearing at PublishAsync after recreating the topic and the subscription

Okay - so CreateSubscription always succeeds? It's possible that there's more caching involved for Publish than for CreateSubscription.
One other thing to try, as well as the delay I mentioned before: instead of deleting and recreating the same topic multiple times, could you try using a unique topic name for each test? I wouldn't be entirely surprised if "create X, publish to X, delete X, create X, publish to X" fails, but "create X, publish to X, delete X, create Y, publish to Y" succeeds.

Yes CreateSubscription always succeeds, we tried with setting a delay like  await Task.Delay(200); will try to increase it to 1 second. Yes will try also the second solution, thank you for your sugestions.

The delay didn't help, so will go with the second suggestion to create unique topics and subscriptions for each test.

@sergiutugulschi: Any updates on how this went?

We added diferent topics and subscription name for each tests and this fixed it. However if we tried deleting this topics and subscriptiond in a dispose method we were still getting this issue so we just leave the topics Like that and have them killed at container destruction.

Okay. I'll close this now as it sounds like you have a solution, and it's not like this is anything we could fix on our side anyway :) (It would have to be in the emulator.)

authors: alexandru-miaun jskeet sergiutugulschi

repo: googleapis/google-cloud-dotnet


text:
Release Google.Cloud.Firestore.V1 version 2.2.0

Changes in this release:

Commit 9f32781: fix: retry PartitionQuery for INTERNAL and DEADLINE_EXCEEDED
Commit 91989e0: fix: give PartitionQuery retry/timeout config

Created release for Google.Cloud.Firestore.V1-2.2.0

authors: jskeet yoshi-automation


text:
Release Google.Cloud.Bigtable.Admin.V2 version 2.5.0

Changes in this release:

Commit b3c1df4: feat: Publish new fields to support cluster group routing for Cloud Bigtable
Commit ac367e2: feat: Regenerate all APIs to support self-signed JWTs
Commit 3e536db: docs: update the comments in Cloud Bigtable RestoreTable API to reflect the new API capability

Created release for Google.Cloud.Bigtable.Admin.V2-2.5.0


text:
Publish batch operation for pub sub

We have an api which wraps pub sub, we accept messages one at a time, do some light processing and put them on pub sub. Are clients are slow because they need to wait  one round trip before sending the next. It would be better if they could send us a large batch and in the api we put them all on to pubsub as a batch.
The java api hides pub subs batch write message behind a queuing / buffering layer. While this is nice for some use-cases it would be good if there was a simple way to publish a batch of messages to pub sub atomically. If we were to accept a batch from our client and pass them to the java api it could get split across two batches, and a partial write could occur

Is this any update on this?
We generate thousands of messages per second per instance and attaching thousands of ApiFutureCallbacks per second seems a bit insane to me. I much rather attach a single listener for a batch as we don't actually need confirmation for every single message.

Closing this as provided solution. Please reopen if this doesn't help.

authors: CremboC LukeDefeo ajaaym

repo: googleapis/google-cloud-java


text:
Update UsePubSubEmulatorSnippet.java

Fixes #<issue_number_goes_here> (it's a good idea to open an issue first for context and/or discussion)

The Cloud Spanner and Storage tests are failing, which are not related to this PR>

authors: kenfesta sduskis


text:
feat: [gkebackup] new module for gkebackup

Ran:
python3.9 generation/new_client/new-client.py generate \
  --api_shortname=gkebackup \
  --proto-path=google/cloud/gkebackup \
  --name-pretty="Backup for GKE API" \
  --product-docs="https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke" \
  --api-description="Backup for GKE is a managed Kubernetes workload backup and restore
    service for GKE clusters."

Module has already been generated: https://github.com/googleapis/google-cloud-java/tree/main/java-gke-backup
It was created as gke-backup instead of gkebackup (I believe this is the actual api_shortname). Closing.


text:
how do i import the types?

i`m trying to import the types of some class here but i can't.. example:
import { ISearchRequest } from '@google-cloud/retail'

The interface ISearchRequest is not exported. However, you can get access to the implementation type SearchRequest.
import { protos } from "@google-cloud/retail";
const sr: protos.google.cloud.retail.v2.SearchRequest = ...

repo: googleapis/google-cloud-node


text:
fix: Make EOS Matching more robust

fix: Make EOS Matching more robust
Clients are seeing a different variant now: Received unexpected EOS on empty DATA frame from server
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕

@stephaniewang526 would you mind taking a look.

Integration test failure looks related to the write functionality

re-running to get around the loadshed failure

Still getting loadshedding responses from the write backend

authors: emkornfield shollyman

repo: googleapis/java-bigquerystorage


text:
feat!: remove deprecated append method in StreamWriterV2

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕

Hi @yayi-google -- the change is fine but the PR needs to be feat!:  since it indicates a major breaking change.
Please update both the PR subject and the initial commit (which will be used in the release notes).

Hi @yayi-google -- the change is fine but the PR needs to be feat!:  since it indicates a major breaking change.
Please update both the PR subject and the initial commit (which will be used in the release notes).

Done. Thank you!


text:
feat: initialize  Github Pages for hosting Javadocs

https://github.com/googleapis/java-cloud-bom/issues/5950
This should initialize the Github Pages site on this repo with some mock data.

@suztomo I wasn't sure if there was anything special we needed to do in terms of adding another workflow to this repo (to publish the Github Pages site), so adding you as a reviewer.

marking as do not merge - will open another PR from my fork when its ready to go into this.

Closing this as we went a different direction with https://github.com/googleapis/java-cloud-bom/pull/6083

repo: googleapis/java-cloud-bom


text:
Retry on "UNKNOWN: channel closed"  errors

The request can be failed due to occasional networking issue, which returns an "UNKNOWN: channel closed"  error.
The client library should retry on such cases.

@yuanyuan-gl Just to gauge the right priority of this issue can you help us with two queries,

Where are you using the client? Can you specify few details about your application.
What is the impact on your application in the absence of retries?

@yuanyuan-gl I read on this behaviour and learnt that client libraries use gRPC under the hood. When a channel is closed, gRPC recreates a new channel and the request gets retried. So I think we don't need to add any new handlings on client libraries. If you still think this issue persists, then I would request you to provide more details (preferably the stack-trace).

repo: googleapis/java-spanner


text:
setLabels method feature request

From customer:
We use cloud function to label all of the instances created in our projects with the user id of the person who created it. This way we can notify the user when their instance comes under governance. Basically we create a sink from the gce instance log and filter it to look at insert events. This gets written to a bucket (or a pub/sub topic) that triggers a cloud function to run.
Here is what our instance tagging cloud function looks like.
exports.processFile = function(event, callback) {
// Requires

const path = require('path');

const os = require('os');

const fs = require('fs');

const readline = require('readline');

var storage = require('@google-cloud/storage')();

var google = require('googleapis');

var compute = google.compute('beta');

That obviously changed since the compute is now v1. But if I try either I get the following error.
2018-05-14 08:18:08.522 EDTnetapp-hcl-func 101128355950845 TypeError: google.compute is not a function at exports.processFile (/user_code/index.js:19:27) at
So I try this one that gives me almost everything I need.
const Compute = require('@google-cloud/compute');
const compute = new Compute();
Except there is no setLabels() API anywhere to be found in that Node.js package.

is there an update?

repo: googleapis/nodejs-compute


text:
Adding unique constraint generates bad migration

Environment details
OS: Windows 10
Programming language: Python
Language runtime version: 3.9.12
sqlalchemy-spanner version: 1.2.1
google-cloud-spanner version: 3.17.0
alembic version : 1.8.1
Steps to reproduce
Add a 'unique' constraint to a model thus:
class Tag(Base):
    __tablename__ = 'tag'
    tag = Column(String, primary_key=True)
    test = Column(String, unique=True)

Output
Whether this line is added to an existing model or when creating a new one, the line generated for the migration is either op.create_unique_constraint(None, ['test']) in an op.batch_alter_table(), or sa.UniqueConstraint('version') in an op.create_table().
Running either of those during a migrations gives the following error:
google.cloud.spanner_dbapi.exceptions.ProgrammingError: Spanner doesn't support direct UNIQUE constraints creation. Create UNIQUE indexes instead.

Spanner doesn't support such a column attribute unique. To create a unique constraint an index should be declared, like in this example:
https://github.com/googleapis/python-spanner-sqlalchemy#unique-constraints
More info in Spanner docs:
https://cloud.google.com/spanner/docs/secondary-indexes#unique-indexes

Noted, thank you.

authors: IlyaFaer louimet

repo: googleapis/python-spanner-sqlalchemy


text:
Inconsistency between config file and arguments when using CLI

As I'm digging in the code, I found out that there are two completely different paths how releases are handled in manifest.ts:

When using release-pr --release-type ...., manifest is created via Manifest.fromConfig, which ignores .release-please-manifest.json file altogether, and always searches for latest release via API
When using release-please-config.json, it requires  .release-please-manifest.json and never searches for latest release via API

I assume this is result of some historical development, and most users probably aren't using config file. I would however expect that it would behave same for either configuration option - if there is manifest json present, use it, if not, search for releases.
Question is: Should we do something about it? I think it affects minimum users. But for example java-yoshi strategy is broken when using the manifest file (and is therefore incompatible with config json file).

When the manifest config was first created, it was added on as a secondary path. In v13, we refactored to make manifest and single configuration paths use the same code path.
If you want to use the manifest, then do not specify the --release-type CLI argument. It will load the release type from manifest config file based on path.
As for mismatches in versions. The manifest JSON is meant as as the source of truth for the last tagged release. If someone tags a release manually outside of release-please, we can't really determine what is supposed to be correct.

repo: googleapis/release-please


text:
How does release-please work out which release is the "previous" release?

How does release-please work out which release is the "previous" release?
I know semantic-release analyzses git tags, but there doesn't seem to be any information in release-please's documentation about where it gets the previous version from.
I ask because I currently have a node.js project I'm converting from semantic-release to release-please, but the release PR created has a bunch of extra stuff in it from several previous releases, so somehow release-please is misidentifying the previous release.  The previous release is tagged as v2.0.2, there's a release for v2.0.2, the package.json says 2.0.2, but there's changes in the release-please PR from well before v2.0.2.

Ah, the docs say:

Release Please looks at commits since your last release tag. It may or may not be able to find your previous releases.

What does that mean?  Is a "release tag" a tag associated with a release in GitHub?

OK, I'm going to further complicate this question:
We're using the release-please github action:
      - name: Release Please
        uses: google-github-actions/release-please-action@v3
        id: release
        with:
          release-type: node

      snip

      - name: Publish Package
        run: npm publish
        if: ${{ steps.release.outputs.release_created }}

The previous release was 2.0.2, we added release-please, it tried to generate a release 2.1.0 PR that everything correct in it.  We merged that PR, but then the publish failed.  We "unwound" the work release-please did by deleting the release and the tag, then we fixed our permission problem, and re-ran release please, and the new PR had all this extra stuff in it.
It looks like release-please is trying to find all releases more recent than 2.1.0.  The PR it generates has a compare link that compares 2.1.0, which is a tag that doesn't exist.  Where is it getting 2.1.0 from when the tag and release have both been deleted?

Anyways, it's merged.


text:
Replace TypeScript build step with Rollup.

This allows us to bundle third party dependencies into the main bundle.
Also removed tsft, as it wasn’t much use.
PAIR=SirVer

@thomasschiwietz ptal and merge if happy.

@wally-the-cartographer merge

Merge requested by authorized user thomasschiwietz. Merge queue now has a length of 1.

authors: SirVer pdubroy thomasschiwietz wally-the-cartographer


text:
Section '11. Add XML layout' generates multiple "Android resource linking failed"

When building, the values of the 3 items below all turn red and show build error "Android resource linking failed".

<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

The same error is thrown for these entries in other files:
android:padding="@dimen/big_padding"
android:contentDescription="@string/add_word"

This error seems to appear when something is wrong in the xml. can you ensure that you don't have any duplicate lines in the xmls?

authors: TAFKAMW florina-muntenescu

repo: googlecodelabs/android-room-with-a-view


text:
Cannot scroll up and down the page using the up/down arrow keys

Instead it moves to the previous/next page

You also can't select text using the left/right arrow keys for similar reasons

Marc - this is probably a code lab infra issue.

I believe this is fixed now.

authors: domenic petele

repo: googlecodelabs/your-first-pwapp


text:
Exporting the trained model

Hi guys,
You have said you are releasing a more awesome teachable machine tool: https://teachablemachine.withgoogle.com/io19 and i can't wait to see that.
I have emailed to get access to a BETA version, and i hope i do :)  but wanted to know if there is any way of exporting the trained model with the boilerplate at the moment or with this version.
I want to be able to train the system to recognize a specific object, but have no idea how to export the model from the current web tool.
Any help would be greatly appreciated.
Thank you,
Alex

Hi Alex,
I don't see any emails requesting beta when searching for your name. If you haven't heard back from us please send us another e-mail.
The original Teachable Machine uses a KNN Classifier and is not capable of exporting a trained model. The new Teachable Machine uses transfer learning on top of mobilenet, so while the results are similar the processes are different.
The new Teachable Machine is going public soon and we can't wait to see what you make. In addition to the site we are releasing support libraries and if you put in some extra work you can train and save a model using the image libraries TeachableMobileNet class.

I can not download quantized model on "tensorflow lite" .It's very urgent and importent for me....
pleace.....tel me the solusion as soon as posible....pleace..............
my email:- shahriarhm007@gmail.com

this should be working now, also this is the wrong repository for this issue. Please use teachablemachine-community repo instead.

authors: alexbudin hapticdata munna71


text:
if type of Images is above then 20 this issue can any one help me kindly

SNV IR HGOEOAJR NTHERPAJ [VT


text:
Add an index page to the proofs

See https://github.com/googlefonts/googlefonts-project-template/issues/103.

I'll see if I can merge #48 before I attempt this. It should make everything much easier.

Closing. Fixed in #66


text:
[new-arch] avoid try/catch on ttfautohint_stats condition implementation

@graphicore suggested at https://github.com/googlefonts/fontbakery/pull/1419/files/f706952d2c7c5cd74d5d2249e17757927a5dc3e7#r125860799 that it can be better (more informative) to let a condition crash instead of using a too broad try/catch block around it.
He was refering to the ttfautohint_stats condition, but we may have this as a general rule for all conditions (not to use too broad try/catch blocks anymore)

I'll actually try this and see how the runner behaves if we let exceptions in conditions pass, but I'm pretty sure I thought about this already.

We still use try/catch blocks in the code where I consider it to be useful and generally safe. This is, of course, a subjective matter. I currently think we're good with the current state of the code in that regard.

authors: felipesanches graphicore

repo: googlefonts/fontbakery


text:
Reapply PR125

The changes introduced by previously merged PR #125 were overwritten by upstream updates from #213. This PR contains exactly the same changes as #125. Please apply these changes again and make sure to pass them upstream.
The object of the changes is fixing the dot over the Cyrillic letters Іі and Јј, which is mistakenly hidden.

@googlebot I signed it!

Thank you and sorry about the process mess up.

@rdaysky : Roman, could you check one or two fonts in https://github.com/googlefonts/noto-fonts ?

@marekjez86 At a glance seems OK

repo: googlefonts/noto-source


text:
+14141110011 wrong isValidNumber() result

+14141110011 is a valid Milwaukee number, but the isValidNumber() returns false

We can't connect to +14141110011. Did you have a typo?
We already support +1 414[2-9] phone numbers in US while the specified number is +1 4141.
We are not able to find +1 4141 with this prefix online.
Please share any working numbers or official evidence you may have. See our guidelines.

Hi Sumathi
You are right. thanks
Still have a list of numbers for that the library returns area code = 0:
4570143064, 4589870902, 6477880117, 13462310292, 14378869111,
18002099202, 18442391552, 18552759006, 18662095866, 18772501561,
18882024955, 31852084920, 34911236750, 43720815479, 61879057085,
302111980723, 448000885036, 611300133085, 611800728898
[image: Aurea] http://www.aurea.com/
*Cristian Magurean | *Software Engineering Manager
cristian.magurean@aurea.com | Skype: cmagurean
www.aurea.com
On Mon, May 22, 2017 at 2:47 PM, SumathiSundara notifications@github.com
wrote:

We can't connect to +14141110011. Did you have a typo?
We already support +1 414[2-9] phone numbers in US while the specified
number is +1 4141.
We are not able to find +1 4141 with this prefix online.
Please share any working numbers or official evidence you may have. See
our guidelines
https://github.com/googlei18n/libphonenumber/blob/master/CONTRIBUTING.md#provide-supporting-evidence
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlei18n/libphonenumber/issues/1750#issuecomment-303077528,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXc-dz2Cu-OkeaPlQ4fRWy05DYKqKMvzks5r8XXWgaJpZM4NhRik
.

Can you please read our guidelines? We need you to check the demo link for these numbers.
Also I think you need to read the javadoc of the methods you are calling. You are talking about "area code" which makes me think you are trying to use a method like getLengthOfGeographicalAreaCode. This explains that it is only for geographical numbers. A toll-free number like +18002099202 is NOT geographical and doesn't have one. Most if not all of these numbers look non-geographical to me.
You might want to use getLengthOfNationalDestinationCode.
Closing this as WAI. If you indeed have numbers that are valid that we don't think are, please read the guidelines Sumathi linked and file a bug about them (ideally one bug per country)


text:
Begin a README.md for library.

This is a template for the README which will be specific to the Spec Math Library. I mainly wanted to get this out to show how to run the tests.

LGTM - but I would take out the license text. You don't need license headers in text files and the repo itself is covered by the same license.

repo: googleinterns/spec-math


text:
BasicSample tests fails

Hi,
When I run tests in BasicSample one of them (changeText_newActivity) is failing.
`
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.example.android.testing.espresso.BasicSample:id/show_text_view
View Hierarchy:
+>DecorView{id=-1, visibility=VISIBLE, width=1366, height=681, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params={(0,0)(wrapxwrap) gr=CENTER sim={adjust=pan} ty=APPLICATION fmt=TRANSLUCENT wanim=0x10302f9
fl=DIM_BEHIND ALT_FOCUSABLE_IM SPLIT_TOUCH HARDWARE_ACCELERATED}, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+->FrameLayout{id=-1, visibility=VISIBLE, width=1254, height=569, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@8fe208c, tag=null, root-is-layout-requested=false, has-input-connection=false, x=56.0, y=56.0, child-count=2}
|
+-->FrameLayout{id=16908290, res-name=content, visibility=VISIBLE, width=1254, height=569, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@443a7ea, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+--->AlertDialogLayout{id=16909154, res-name=parentPanel, visibility=VISIBLE, width=1254, height=569, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@12d69b7, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=4}
|
+---->LinearLayout{id=16909416, res-name=topPanel, visibility=VISIBLE, width=1254, height=184, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@41d4a42, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+----->LinearLayout{id=16909406, res-name=title_template, visibility=VISIBLE, width=1254, height=156, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@47c2089, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=2}
|
+------>ImageView{id=16908294, res-name=icon, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@db9c88e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+------>DialogTitle{id=16908701, res-name=alertTitle, visibility=VISIBLE, width=1086, height=93, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@f09d8af, tag=null, root-is-layout-requested=false, has-input-connection=false, x=84.0, y=63.0, text=Basic Espresso sample, input-type=0, ime-target=false, has-links=false}
|
+----->Space{id=16909401, res-name=titleDividerNoCustom, visibility=VISIBLE, width=1254, height=28, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@d90c4bc, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=156.0}
|
+---->FrameLayout{id=16908808, res-name=contentPanel, visibility=VISIBLE, width=1254, height=168, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@18ddf9a, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=184.0, child-count=1}
|
+----->ScrollView{id=16909247, res-name=scrollView, visibility=VISIBLE, width=1254, height=142, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@30370a8, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+------>LinearLayout{id=-1, visibility=VISIBLE, width=1254, height=142, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@272ef54, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=3}
|
+------->Space{id=16909383, res-name=textSpacerNoTitle, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@ed3aefd, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+------->TextView{id=16908299, res-name=message, visibility=VISIBLE, width=1254, height=142, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@420c7f2, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Detected problems with API compatibility
(visit g.co/dev/appcompat for more info), input-type=0, ime-target=false, has-links=false}
|
+------->Space{id=16909382, res-name=textSpacerNoButtons, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@60d0e43, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
+---->FrameLayout{id=16908815, res-name=customPanel, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@6313df9, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}
|
+----->FrameLayout{id=16908331, res-name=custom, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@b6f713e, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=0}
|
+---->ScrollView{id=16908761, res-name=buttonPanel, visibility=VISIBLE, width=1254, height=217, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@3ecd4ec, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=352.0, child-count=1}
|
+----->ButtonBarLayout{id=-1, visibility=VISIBLE, width=1254, height=217, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@567b331, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=4}
|
+------>Button{id=16908315, res-name=button3, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@ea66a16, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=, input-type=0, ime-target=false, has-links=false}
|
+------>Space{id=16909318, res-name=spacer, visibility=INVISIBLE, width=946, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@4320f97, tag=null, root-is-layout-requested=false, has-input-connection=false, x=42.0, y=203.0}
|
+------>Button{id=16908314, res-name=button2, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=true, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@fdad584, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=, input-type=0, ime-target=false, has-links=false}
|
+------>Button{id=16908313, res-name=button1, visibility=VISIBLE, width=224, height=189, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.widget.LinearLayout$LayoutParams@553516d, tag=null, root-is-layout-requested=false, has-input-connection=false, x=988.0, y=14.0, text=OK, input-type=0, ime-target=false, has-links=false}
|
+-->ViewStub{id=16908682, res-name=action_mode_bar_stub, visibility=GONE, width=0, height=0, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=true, is-selected=false, layout-params=android.widget.FrameLayout$LayoutParams@e9711a2, tag=null, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0}
|
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:1538)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:90)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:52)
at android.support.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312)
at android.support.test.espresso.ViewInteraction.check(ViewInteraction.java:291)
at com.example.android.testing.espresso.BasicSample.ChangeTextBehaviorTest.changeText_newActivity(ChangeTextBehaviorTest.java:87)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:433)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:369)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2136)`

I wonder if this is due to the explicit AndroidManifest.xml in BasicSample's androidTest package. Do you mind renaming https://github.com/googlesamples/android-testing/blob/master/ui/espresso/BasicSample/app/src/androidTest/AndroidManifest.xml to something else, and have Gradle automatically generate the test manifest?

@jin I rename the AndroidManifest.xml your mentioned above. but still get the the error as below:
INSTRUMENTATION_STATUS: numtests=3
INSTRUMENTATION_STATUS: stream=
com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest:
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=testChangeText_newActivity
INSTRUMENTATION_STATUS: class=com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS: numtests=3
INSTRUMENTATION_STATUS: stream=
Error in testChangeText_newActivity(com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest):
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.setText(java.lang.String)' on a null object reference
	at com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest.testChangeText_newActivity(ChangeTextBehaviorTest.java:104)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at android.support.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:369)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2055)

INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=testChangeText_newActivity
INSTRUMENTATION_STATUS: class=com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest
INSTRUMENTATION_STATUS: stack=java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.setText(java.lang.String)' on a null object reference
	at com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest.testChangeText_newActivity(ChangeTextBehaviorTest.java:104)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at android.support.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:369)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2055)

INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS_CODE: -2
INSTRUMENTATION_STATUS: numtests=3
INSTRUMENTATION_STATUS: stream=
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=testChangeText_sameActivity
INSTRUMENTATION_STATUS: class=com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest
INSTRUMENTATION_STATUS: current=2
INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS: numtests=3
INSTRUMENTATION_STATUS: stream=
Error in testChangeText_sameActivity(com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest):
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.setText(java.lang.String)' on a null object reference
	at com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest.testChangeText_sameActivity(ChangeTextBehaviorTest.java:89)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at android.support.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:369)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2055)

INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=testChangeText_sameActivity
INSTRUMENTATION_STATUS: class=com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest
INSTRUMENTATION_STATUS: stack=java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.setText(java.lang.String)' on a null object reference
	at com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest.testChangeText_sameActivity(ChangeTextBehaviorTest.java:89)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at android.support.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:80)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:58)
	at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:369)
	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2055)

INSTRUMENTATION_STATUS: current=2
INSTRUMENTATION_STATUS_CODE: -2
INSTRUMENTATION_STATUS: numtests=3
INSTRUMENTATION_STATUS: stream=
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=checkPreconditions
INSTRUMENTATION_STATUS: class=com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest
INSTRUMENTATION_STATUS: current=3
INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS: numtests=3
INSTRUMENTATION_STATUS: stream=.
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=checkPreconditions
INSTRUMENTATION_STATUS: class=com.example.android.testing.uiautomator.BasicSample.ChangeTextBehaviorTest
INSTRUMENTATION_STATUS: current=3
INSTRUMENTATION_STATUS_CODE: 0
INSTRUMENTATION_RESULT: shortMsg=java.lang.SecurityException
INSTRUMENTATION_RESULT: longMsg=java.lang.SecurityException: Permission Denial: getIntentSender() from pid=9130, uid=2000, (need uid=1000) is not allowed to send as package android
INSTRUMENTATION_CODE: 0

I occurred the same issue.

@CharlieZheng  try this on android simulator, mybe some error happen on your real device.

authors: CharlieZheng iamcxl369 jin ogiexela

repo: googlesamples/android-testing


text:
Wrong face detection.

Try face detection for this image:

With this configuration:
FaceDetector detector = new FaceDetector.Builder(getContainerActivity())
.setTrackingEnabled(false)
.setMode(FaceDetector.ACCURATE_MODE)
.build();
See face detection result, top is -321.
I am asking is this a bug? or this is an approximate value of the possible top value?

See my answer here:
face-detection-api-coordinates

The bounding box estimates the dimensions of the head, even though it may not be entirely visible within the photo. The coordinates may be negative if the face is cropped by the top or left of the image (e.g., the top of the head is cropped off the top of the picture, resulting in a y coordinate above 0).

@pm0733464  thanks :)
Closing issue.

repo: googlesamples/android-vision


text:
Made some minor fixes

Deleted an extra VC
Automatically select all default text when the user taps in the textfield
Replaced a few vars with lets
Fixed a weird code-signing issue that wouldn't let me build

Thanks! Can you squash the last two commits?

authors: ToddKerpelman silvolu

repo: googlesamples/gcm-playground