This is an automated email from the ASF dual-hosted git repository.

yhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 18493cf7fc1 remove website, typescript, etc - pubsublite uses (#37412)
18493cf7fc1 is described below

commit 18493cf7fc1437b9404c554a01dd78c13de3dde2
Author: Derrick Williams <[email protected]>
AuthorDate: Thu Jan 29 10:41:55 2026 -0500

    remove website, typescript, etc - pubsublite uses (#37412)
---
 it/google-cloud-platform/build.gradle              |   2 -
 .../gcp/pubsublite/PubsubliteResourceManager.java  | 215 ---------------------
 .../beam/it/gcp/pubsublite/package-info.java       |  20 --
 sdks/standard_expansion_services.yaml              |   3 -
 sdks/typescript/src/apache_beam/io/index.ts        |   1 -
 sdks/typescript/src/apache_beam/io/pubsublite.ts   |  55 ------
 6 files changed, 296 deletions(-)

diff --git a/it/google-cloud-platform/build.gradle 
b/it/google-cloud-platform/build.gradle
index 56a1d730734..3a46f2b94d8 100644
--- a/it/google-cloud-platform/build.gradle
+++ b/it/google-cloud-platform/build.gradle
@@ -74,8 +74,6 @@ dependencies {
     implementation 'com.google.cloud:google-cloud-spanner'
     implementation 'com.google.cloud:google-cloud-pubsub'
     provided 'com.google.api.grpc:proto-google-cloud-pubsub-v1'
-    implementation 'com.google.cloud:google-cloud-pubsublite'
-    provided 'com.google.api.grpc:proto-google-cloud-pubsublite-v1'
     implementation 'com.google.cloud:google-cloud-datastore'
     implementation 'com.google.cloud:google-cloud-datastream'
     provided 'com.google.api.grpc:proto-google-cloud-datastream-v1'
diff --git 
a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/pubsublite/PubsubliteResourceManager.java
 
b/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/pubsublite/PubsubliteResourceManager.java
deleted file mode 100644
index 6f6e21bfd32..00000000000
--- 
a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/pubsublite/PubsubliteResourceManager.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.beam.it.gcp.pubsublite;
-
-import com.google.cloud.pubsublite.AdminClient;
-import com.google.cloud.pubsublite.AdminClientSettings;
-import com.google.cloud.pubsublite.CloudRegion;
-import com.google.cloud.pubsublite.ProjectId;
-import com.google.cloud.pubsublite.ReservationName;
-import com.google.cloud.pubsublite.ReservationPath;
-import com.google.cloud.pubsublite.SubscriptionName;
-import com.google.cloud.pubsublite.SubscriptionPath;
-import com.google.cloud.pubsublite.TopicName;
-import com.google.cloud.pubsublite.TopicPath;
-import com.google.cloud.pubsublite.proto.Reservation;
-import com.google.cloud.pubsublite.proto.Subscription;
-import com.google.cloud.pubsublite.proto.Topic;
-import com.google.protobuf.Duration;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-import org.apache.beam.it.common.ResourceManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/** Client for managing Pub/Sub Lite resources. */
-public class PubsubliteResourceManager implements ResourceManager {
-  private static final Logger LOG = 
LoggerFactory.getLogger(PubsubliteResourceManager.class);
-
-  private final List<ReservationPath> cleanupReservations = new ArrayList<>();
-  private final List<TopicPath> cleanupTopics = new ArrayList<>();
-
-  public static final Integer DEFAULT_NUM_PARTITIONS = 100;
-
-  // 5 days is the default retention period for the PSLite topic
-  public static final Duration DEFAULT_RETENTION_PERIOD =
-      Duration.newBuilder().setSeconds(3600 * 24 * 5).build();
-
-  // 30 GB per partition
-  public static final Long DEFAULT_PARTITION_SIZE = 30 * 1024 * 1024 * 1024L;
-
-  /**
-   * Creates a new PubsubLite reservation with the specified number of 
capacity units. Capacity
-   * units represent 0.25 MiBps on a regional reservation, and 1 MiBps on a 
zonal reservation.
-   *
-   * @param reservationName the name of the reservation to create.
-   * @param cloudRegion the region in which the reservation will be created.
-   * @param projectId the project id associated with the reservation.
-   * @param capacity the number of capacity units for the reservation.
-   * @return the path of the created reservation.
-   */
-  public ReservationPath createReservation(
-      String reservationName, String cloudRegion, String projectId, Long 
capacity) {
-    try (AdminClient client =
-        AdminClient.create(
-            
AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build()))
 {
-      ReservationPath reservationPath =
-          ReservationPath.newBuilder()
-              .setProject(ProjectId.of(projectId))
-              .setLocation(CloudRegion.of(cloudRegion))
-              .setName(ReservationName.of(reservationName))
-              .build();
-      client
-          .createReservation(
-              Reservation.newBuilder()
-                  .setName(reservationPath.toString())
-                  .setThroughputCapacity(capacity)
-                  .build())
-          .get();
-      cleanupReservations.add(reservationPath);
-      LOG.info("Created reservation {}", reservationPath);
-      return reservationPath;
-    } catch (ExecutionException | InterruptedException e) {
-      throw new RuntimeException(
-          String.format(
-              "Unable to create reservation %s in region %s with capacity %d",
-              reservationName, cloudRegion, capacity),
-          e);
-    }
-  }
-
-  /**
-   * Creates a topic with the given name on Pub/Sub.
-   *
-   * <p>https://cloud.google.com/pubsub/lite/docs/reservations
-   *
-   * @param topicName Topic name to create. The underlying implementation may 
not use the topic name
-   *     directly, and can add a prefix or a suffix to identify specific 
executions.
-   * @param reservationPath the path of the reservation under which to create 
the topic.
-   * @return The instance of the TopicName that was just created.
-   */
-  public TopicName createTopic(String topicName, ReservationPath 
reservationPath) {
-    try (AdminClient client =
-        AdminClient.create(
-            
AdminClientSettings.newBuilder().setRegion(reservationPath.location()).build()))
 {
-      TopicPath topicPath =
-          TopicPath.newBuilder()
-              .setName(TopicName.of(topicName))
-              .setLocation(reservationPath.location())
-              .setProject(reservationPath.project())
-              .build();
-      Topic topic =
-          client
-              .createTopic(
-                  Topic.newBuilder()
-                      .setName(topicPath.toString())
-                      .setPartitionConfig(
-                          Topic.PartitionConfig.newBuilder()
-                              .setCount(DEFAULT_NUM_PARTITIONS)
-                              .build())
-                      .setRetentionConfig(
-                          Topic.RetentionConfig.newBuilder()
-                              .setPeriod(DEFAULT_RETENTION_PERIOD)
-                              .setPerPartitionBytes(DEFAULT_PARTITION_SIZE)
-                              .build())
-                      .setReservationConfig(
-                          Topic.ReservationConfig.newBuilder()
-                              
.setThroughputReservation(reservationPath.toString())
-                              .build())
-                      .build())
-              .get();
-      cleanupTopics.add(topicPath);
-      LOG.info("Created topic {}", topicPath);
-      return TopicName.of(topic.getName());
-    } catch (ExecutionException | InterruptedException e) {
-      throw new RuntimeException(
-          String.format("Unable to create topic %s in reservation %s", 
topicName, reservationPath),
-          e);
-    }
-  }
-
-  /**
-   * Creates a new Pub/Sub Lite subscription for a specified topic.
-   *
-   * @param reservationPath the path of the reservation to add the 
subscription.
-   * @param topicName the name of the topic to add the subscription to.
-   * @param subscriptionName the name to use for the subscription.
-   * @return the created {@link SubscriptionName} instance.
-   */
-  public SubscriptionName createSubscription(
-      ReservationPath reservationPath, TopicName topicName, String 
subscriptionName) {
-    try (AdminClient client =
-        AdminClient.create(
-            
AdminClientSettings.newBuilder().setRegion(reservationPath.location()).build()))
 {
-      Subscription subscription =
-          client
-              .createSubscription(
-                  Subscription.newBuilder()
-                      .setTopic(topicName.toString())
-                      .setName(
-                          SubscriptionPath.newBuilder()
-                              .setLocation(reservationPath.location())
-                              .setName(SubscriptionName.of(subscriptionName))
-                              .setProject(reservationPath.project())
-                              .build()
-                              .toString())
-                      .setDeliveryConfig(
-                          Subscription.DeliveryConfig.newBuilder()
-                              .setDeliveryRequirement(
-                                  
Subscription.DeliveryConfig.DeliveryRequirement
-                                      .DELIVER_IMMEDIATELY)
-                              .build())
-                      .build())
-              .get();
-      LOG.info("Created subscription {}", subscription.getName());
-      return SubscriptionName.of(subscription.getName());
-    } catch (ExecutionException | InterruptedException e) {
-      throw new RuntimeException(
-          String.format(
-              "Unable to create subscription %s for topic %s", 
subscriptionName, topicName),
-          e);
-    }
-  }
-
-  /** Delete any topics or subscriptions created by this manager. */
-  @Override
-  public void cleanupAll() {
-    for (TopicPath t : cleanupTopics) {
-      try (AdminClient client =
-          AdminClient.create(
-              
AdminClientSettings.newBuilder().setRegion(t.location().region()).build())) {
-        client.deleteTopic(t).get();
-        LOG.info("Deleted topic {}", t);
-      } catch (InterruptedException | ExecutionException e) {
-        System.out.println("Unable to delete topic " + t);
-        e.printStackTrace();
-      }
-    }
-    for (ReservationPath r : cleanupReservations) {
-      try (AdminClient client =
-          
AdminClient.create(AdminClientSettings.newBuilder().setRegion(r.location()).build()))
 {
-        client.deleteReservation(r).get();
-        LOG.info("Deleted reservation {}", r);
-      } catch (InterruptedException | ExecutionException e) {
-        System.out.println("Unable to delete reservation " + r);
-        e.printStackTrace();
-      }
-    }
-  }
-}
diff --git 
a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/pubsublite/package-info.java
 
b/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/pubsublite/package-info.java
deleted file mode 100644
index c135952d6cd..00000000000
--- 
a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/pubsublite/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/** Package for managing Pub/Sub lite resources within integration tests. */
-package org.apache.beam.it.gcp.pubsublite;
diff --git a/sdks/standard_expansion_services.yaml 
b/sdks/standard_expansion_services.yaml
index 4a5afdfb6c3..531caca5a37 100644
--- a/sdks/standard_expansion_services.yaml
+++ b/sdks/standard_expansion_services.yaml
@@ -63,9 +63,6 @@
 #  skip_transforms:
 #    # generate_sequence is already included in the Java IO expansion service
 #    - 'beam:schematransform:org.apache.beam:generate_sequence:v1'
-#    # Handwritten wrappers exist in apache_beam/io/gcp/pubsublite/
-#    - 'beam:schematransform:org.apache.beam:pubsublite_read:v1'
-#    - 'beam:schematransform:org.apache.beam:pubsublite_write:v1'
 #    # Handwritten wrapper exists in apache_beam/io/gcp/spanner.py
 #    - 'beam:schematransform:org.apache.beam:spanner_write:v1'
 #    # Native IO exists in apache_beam/io/gcp/pubsub.py
diff --git a/sdks/typescript/src/apache_beam/io/index.ts 
b/sdks/typescript/src/apache_beam/io/index.ts
index 046f38b8c4d..b3a28253ce5 100644
--- a/sdks/typescript/src/apache_beam/io/index.ts
+++ b/sdks/typescript/src/apache_beam/io/index.ts
@@ -22,7 +22,6 @@ export * from "./bigqueryio";
 export * from "./kafka";
 export * from "./parquetio";
 export * from "./pubsub";
-export * from "./pubsublite";
 export * from "./schemaio";
 
 import { requireForSerialization } from "../serialization";
diff --git a/sdks/typescript/src/apache_beam/io/pubsublite.ts 
b/sdks/typescript/src/apache_beam/io/pubsublite.ts
deleted file mode 100644
index 510b39b9bf9..00000000000
--- a/sdks/typescript/src/apache_beam/io/pubsublite.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as beam from "../../apache_beam";
-import * as external from "../transforms/external";
-import { RowCoder } from "../coders/row_coder";
-import { serviceProviderFromJavaGradleTarget } from "../utils/service";
-import { camelToSnakeOptions } from "../utils/utils";
-
-const PUBSUBLITE_EXPANSION_GRADLE_TARGET =
-  "sdks:java:io:google-cloud-platform:expansion-service:shadowJar";
-
-// TODO: Schema-producing variants.
-export function readFromPubSubLiteRaw(
-  subscriptionPath: string,
-  options: { minBundleTimeout?: number; deduplicate?: boolean } = {},
-): beam.AsyncPTransform<beam.Root, beam.PCollection<Uint8Array>> {
-  return beam.withName(
-    "readFromPubSubLiteRaw",
-    external.rawExternalTransform<beam.Root, beam.PCollection<Uint8Array>>(
-      "beam:transform:org.apache.beam:pubsublite_read:v1",
-      { subscription_path: subscriptionPath, ...camelToSnakeOptions(options) },
-      serviceProviderFromJavaGradleTarget(PUBSUBLITE_EXPANSION_GRADLE_TARGET),
-    ),
-  );
-}
-
-export function writeToPubSubLiteRaw(
-  topicPath: string,
-  options: { addUuids?: boolean } = {},
-): beam.AsyncPTransform<beam.PCollection<Uint8Array>, {}> {
-  return beam.withName(
-    "writeToPubSubLiteRaw",
-    external.rawExternalTransform<beam.PCollection<Uint8Array>, {}>(
-      "beam:transform:org.apache.beam:pubsublite_write:v1",
-      { topic_path: topicPath, ...camelToSnakeOptions(options) },
-      serviceProviderFromJavaGradleTarget(PUBSUBLITE_EXPANSION_GRADLE_TARGET),
-    ),
-  );
-}

Reply via email to