diff --git a/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectReader.java b/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectReader.java index 34e71e9e5..8dc3d8ab9 100644 --- a/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectReader.java +++ b/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectReader.java @@ -137,7 +137,7 @@ public ObjectMetadata call() throws Exception { ExecutorService executor = Executors.newFixedThreadPool( concurrencyLevel, new ThreadFactoryBuilder().setDaemon(true) - .setNameFormat("ChunkReader-" + objectName + "-%d").build()); + .setNameFormat("ChunkReader-" + objectName.replace("%","%%") + "-%d").build()); try { for (final int chunkId : idsToRead) { executor.submit(new Runnable() { diff --git a/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectWriter.java b/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectWriter.java index 769f08af5..fda5ef878 100644 --- a/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectWriter.java +++ b/astyanax-recipes/src/main/java/com/netflix/astyanax/recipes/storage/ObjectWriter.java @@ -107,7 +107,7 @@ public ObjectMetadata call() throws Exception { try { final ExecutorService executor = Executors.newFixedThreadPool(concurrencyLevel, new ThreadFactoryBuilder() - .setDaemon(true).setNameFormat("ChunkWriter-" + objectName + "-%d").build()); + .setDaemon(true).setNameFormat("ChunkWriter-" + objectName.replace("%","%%") + "-%d").build()); final BlockingConcurrentWindowCounter chunkCounter = new BlockingConcurrentWindowCounter(concurrencyLevel); final AutoAllocatingLinkedBlockingQueue blocks = new AutoAllocatingLinkedBlockingQueue( concurrencyLevel);