Skip to content
This repository was archived by the owner on Feb 24, 2026. It is now read-only.

Commit 248ab73

Browse files
authored
feat: add default stream support for StreamWriter (#744)
* fix: a race condition in test * . * . * fix: allow default stream name to StreamWriter * .
1 parent 29f2bac commit 248ab73

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/StreamWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public class StreamWriter implements AutoCloseable {
8282
private static final Logger LOG = Logger.getLogger(StreamWriter.class.getName());
8383

8484
private static String streamPatternString =
85-
"(projects/[^/]+/datasets/[^/]+/tables/[^/]+)/streams/[^/]+";
85+
"(projects/[^/]+/datasets/[^/]+/tables/[^/]+)/(streams/[^/]+|_default)";
8686

8787
private static Pattern streamPattern = Pattern.compile(streamPatternString);
8888

google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/StreamWriterTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
public class StreamWriterTest {
5959
private static final Logger LOG = Logger.getLogger(StreamWriterTest.class.getName());
6060
private static final String TEST_STREAM = "projects/p/datasets/d/tables/t/streams/s";
61+
private static final String TEST_DEFAULT_STREAM = "projects/p/datasets/d/tables/t/_default";
6162
private static final ExecutorProvider SINGLE_THREAD_EXECUTOR =
6263
InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(1).build();
6364
private static LocalChannelProvider channelProvider;
@@ -102,6 +103,10 @@ private StreamWriter.Builder getTestStreamWriterBuilder() {
102103
return getTestStreamWriterBuilder(TEST_STREAM);
103104
}
104105

106+
private StreamWriter.Builder getDefaultTestStreamWriterBuilder() {
107+
return getTestStreamWriterBuilder(TEST_DEFAULT_STREAM);
108+
}
109+
105110
private AppendRowsRequest createAppendRequest(String[] messages, long offset) {
106111
AppendRowsRequest.Builder requestBuilder = AppendRowsRequest.newBuilder();
107112
AppendRowsRequest.ProtoData.Builder dataBuilder = AppendRowsRequest.ProtoData.newBuilder();
@@ -143,6 +148,13 @@ public void testTableName() throws Exception {
143148
}
144149
}
145150

151+
@Test
152+
public void testDefaultStream() throws Exception {
153+
try (StreamWriter writer = getDefaultTestStreamWriterBuilder().build()) {
154+
assertEquals("projects/p/datasets/d/tables/t", writer.getTableNameString());
155+
}
156+
}
157+
146158
@Test
147159
public void testAppendByDuration() throws Exception {
148160
StreamWriter writer =

0 commit comments

Comments
 (0)