From 173e1189b183d9316a10116e329204aff964f617 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Wed, 23 Mar 2016 17:37:17 -0700 Subject: [PATCH] Validate that Pubsub resource names are at least 3 chars --- .../main/java/com/google/cloud/dataflow/sdk/io/PubsubIO.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/io/PubsubIO.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/io/PubsubIO.java index 653b31f059..ae7ac0db42 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/io/PubsubIO.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/io/PubsubIO.java @@ -105,6 +105,7 @@ public class PubsubIO { private static final Pattern PUBSUB_NAME_REGEXP = Pattern.compile("[a-zA-Z][-._~%+a-zA-Z0-9]+"); + private static final int PUBSUB_NAME_MIN_LENGTH = 3; private static final int PUBSUB_NAME_MAX_LENGTH = 255; private static final String SUBSCRIPTION_RANDOM_TEST_PREFIX = "_random/"; @@ -120,6 +121,10 @@ private static void validateProjectName(String project) { } private static void validatePubsubName(String name) { + if (name.length() < PUBSUB_NAME_MIN_LENGTH) { + throw new IllegalArgumentException( + "Pubsub object name is shorter than 3 characters: " + name); + } if (name.length() > PUBSUB_NAME_MAX_LENGTH) { throw new IllegalArgumentException( "Pubsub object name is longer than 255 characters: " + name);