Skip to content

[java-datastore] Starting LocalDatastoreHelper stalls if beta gcloud component is not installed #12002

Open

Description

@pomu0325

Environment details

  • OS type and version: Debian GNU/Linux 10 (buster) (on Docker)
  • Java version: openjdk version "1.8.0_275"
  • datastore version(s): com.google.cloud:google-cloud-datastore:jar:1.105.0

Steps to reproduce

  1. Remove beta component: gcloud components remove beta
  2. Run the code which uses LocalDatastoreHelper

Code example

import com.google.cloud.datastore.testing.LocalDatastoreHelper;

public class Test {
  public static void main(String[] args) throws Exception {
    LocalDatastoreHelper emulator = LocalDatastoreHelper.create();
    emulator.start();

    System.out.println("Started!");
  }
}

How I found this

  • Removed beta component
root@17224e8a6010:/app# gcloud components remove beta --quiet
┌──────────────────────────────────────────┐
│    These components will be removed.     │
├──────────────────────┬────────────┬──────┤
│         Name         │  Version   │ Size │
├──────────────────────┼────────────┼──────┤
│ gcloud Beta Commands │ 2019.05.17 │      │
└──────────────────────┴────────────┴──────┘
...
Uninstall done!
  • Run code example, then it stalls.
root@17224e8a6010:/app# mvn exec:java -Dexec.mainClass=Test
  • Ctrl+Z and run ps to find out what command is executed via LocalDatastoreHelper
^Z
[1]+  Stopped                 mvn exec:java -Dexec.mainClass=Test
root@17224e8a6010:/app# ps -ef 
...
root      1840  1795  0 17:40 pts/1    00:00:00 python2 -S /root/google-cloud-sdk/lib/gcloud.py beta emulators datastore start --host-port=localhost:40079 --consistency=0.9
  • Execute the same command at the terminal, then it prompts whether continue to install beta component
root@17224e8a6010:/app# python2 -S /root/google-cloud-sdk/lib/gcloud.py beta emulators datastore start --host-port=localhost:40079 --consistency=0.9
You do not currently have this command group installed.  Using it 
requires the installation of components: [beta]


Your current Cloud SDK version is: 322.0.0
Installing components from version: 322.0.0

┌─────────────────────────────────────────────┐
│     These components will be installed.     │
├──────────────────────┬────────────┬─────────┤
│         Name         │  Version   │   Size  │
├──────────────────────┼────────────┼─────────┤
│ gcloud Beta Commands │ 2019.05.17 │ < 1 MiB │
└──────────────────────┴────────────┴─────────┘

For the latest full release notes, please visit:
  https://cloud.google.com/sdk/release_notes

Do you want to continue (Y/n)?  

Possible solution

Add --quiet option to run emulator, so as to silently install beta component.
pomu0325/java-datastore@e2cb8f2

Activity

  1. added
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    lang: javaIssues specific to Java.
    and removed
    triage meI really want to be triaged.
    on Jan 11, 2021
  2. added
    priority: p2Moderately-important priority. Fix may not be included in next release.
    on Jan 12, 2021
  3. added
    🚨 criticalP0 critical issue. Requires immediate fix
    and removed
    🚨 criticalP0 critical issue. Requires immediate fix
    on May 10, 2021
  4. 8 remaining items

  5. meredithslota commented on Oct 10, 2022

    @meredithslota
    Contributor

    @prash-mi Can you or @jainsahab take a look?

  6. removed their assignment
    on Feb 23, 2024
  7. added
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    status: blockedResolving the issue is dependent on other work.
    on Feb 23, 2026
  8. changed the title [-]Starting LocalDatastoreHelper stalls if `beta` gcloud component is not installed[/-] [+][java-datastore] Starting LocalDatastoreHelper stalls if `beta` gcloud component is not installed[/+] on Feb 23, 2026
  9. added
    api: datastoreIssues related to the Datastore API.
    priority: p3Desirable enhancement or fix. May not be included in next release.
    lang: javaIssues specific to Java.
    on Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    api: datastoreIssues related to the Datastore API.lang: javaIssues specific to Java.priority: p3Desirable enhancement or fix. May not be included in next release.status: blockedResolving the issue is dependent on other work.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions