Skip to content

Cloud logging - INVALID_ARGUMENT: page_token doesn't match arguments from the request #1852

@netp-dany

Description

@netp-dany

Description

An exception is thrown when requesting a list of cloud log entries with the page token.

Environment details

  • OS type and version: Mac OS Sequoia 15.6.1
  • Java version: Open JDK 23.0.2

Steps to reproduce

  1. Execute the testCloudLogs() function from the code sample below.

Maven

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>spring-cloud-gcp-dependencies</artifactId>
        <version>7.2.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>


<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-logging</artifactId>
</dependency>

Code example

public void testCloudLogs() {
    String pageToken = null;

    try {
      com.google.api.gax.paging.Page<LogEntry> logEntryPage1 = getLogs(pageToken);
      pageToken = logEntryPage1.getNextPageToken();

      System.out.println("STOP");

      com.google.api.gax.paging.Page<LogEntry> logEntryPage2 = getLogs(pageToken);
      pageToken = logEntryPage2.getNextPageToken();

      System.out.println("STOP");

    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }

  public com.google.api.gax.paging.Page<LogEntry> getLogs(String pageToken) throws Exception {
    try (Logging logging = LoggingOptions.getDefaultInstance().getService()) {
      return logging.listLogEntries(
        Logging.EntryListOption.pageToken(pageToken)
      );
    }
  }

Stack trace

io.grpc.StatusRuntimeException: INVALID_ARGUMENT: page_token doesn't match arguments from the request
	at io.grpc.Status.asRuntimeException(Status.java:532) ~[grpc-api-1.71.0.jar:1.71.0]
	at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:621) ~[grpc-stub-1.71.0.jar:1.71.0]
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.71.0.jar:1.71.0]
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.71.0.jar:1.71.0]
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.71.0.jar:1.71.0]
	at com.google.api.gax.grpc.ChannelPool$ReleasingClientCall$1.onClose(ChannelPool.java:569) ~[gax-grpc-2.69.0.jar:2.69.0]
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.71.0.jar:1.71.0]
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.71.0.jar:1.71.0]
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.71.0.jar:1.71.0]
	at com.google.api.gax.grpc.GrpcLoggingInterceptor$1$1.onClose(GrpcLoggingInterceptor.java:98) ~[gax-grpc-2.69.0.jar:2.69.0]
	at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:565) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:72) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:733) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:714) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.71.0.jar:1.71.0]
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) ~[grpc-core-1.71.0.jar:1.71.0]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:1575) ~[na:na]

Metadata

Metadata

Assignees

Labels

api: loggingIssues related to the googleapis/java-logging API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions