This looks like a bug when the table path already exists with a logs directory and it's been opened before (hence why it has a log directory). I have created a jira issue https://issues.apache.org/jira/browse/BLUR-14 , thanks for finding this!
Aaron On Sun, Aug 26, 2012 at 2:06 PM, Garrett Barton <[email protected]> wrote: > Was thinking its me, but theres a logs dir sitting in my blur shards > folder, so the counts would not be the same. Is this an old log folder > thats not used anymore? > > public void createTable(Iface client, String tableName, String > cluster) throws BlurException, TException { > TableDescriptor td = new TableDescriptor(); > td.analyzerDefinition = new AnalyzerDefinition(); > > td.name = tableName; > // TODO: doc doesnt say required, yet it barfs without it? > td.cluster = (cluster == null) ? "default" : cluster; > //auto enable table > td.isEnabled = true; > > //1 shard per server :) > td.shardCount = client.shardServerList(cluster).size(); > td.readOnly = false; > // TODO: hardcodes bad, assuming NN on same node as BC > td.tableUri = "hdfs://" + host + ":8020/" + tableName; > client.createTable(td); > System.out.println("table created"); > } > > > Exception in thread "main" BlurException(message:Number of directories > in table path [hdfs://localhost:8020/test1] does not match definition > of [2] shard count., stackTraceStr:java.lang.RuntimeException: Number > of directories in table path [hdfs://localhost:8020/test1] does not > match definition of [2] shard count. > at > com.nearinfinity.blur.utils.BlurUtil.validateShardCount(BlurUtil.java:647) > at > com.nearinfinity.blur.utils.BlurUtil.setupFileSystem(BlurUtil.java:634) > at > com.nearinfinity.blur.manager.clusterstatus.ZookeeperClusterStatus.createTable(ZookeeperClusterStatus.java:699) > at > com.nearinfinity.blur.thrift.TableAdmin.createTable(TableAdmin.java:49) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at com.nearinfinity.blur.utils.BlurUtil$1.invoke(BlurUtil.java:107) > at $Proxy0.createTable(Unknown Source) > at > com.nearinfinity.blur.thrift.generated.Blur$Processor$createTable.getResult(Blur.java:2285) > at > com.nearinfinity.blur.thrift.generated.Blur$Processor$createTable.getResult(Blur.java:2273) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.thrift.server.TNonblockingServer$FrameBuffer.invoke(TNonblockingServer.java:632) > at > org.apache.thrift.server.THsHaServer$Invocation.run(THsHaServer.java:201) > at > com.nearinfinity.blur.concurrent.ThreadWatcher$ThreadWatcherExecutorService$1.run(ThreadWatcher.java:110) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:722) > ) > at > com.nearinfinity.blur.thrift.generated.Blur$createTable_result.read(Blur.java:17406) > at > org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) > at > com.nearinfinity.blur.thrift.generated.Blur$Client.recv_createTable(Blur.java:768) > at > com.nearinfinity.blur.thrift.generated.Blur$Client.createTable(Blur.java:755) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at > com.nearinfinity.blur.thrift.BlurClient$BlurClientInvocationHandler$1.call(BlurClient.java:33) > at > com.nearinfinity.blur.thrift.BlurClient$BlurClientInvocationHandler$1.call(BlurClient.java:29) > at > com.nearinfinity.blur.thrift.BlurClientManager.execute(BlurClientManager.java:166) > at > com.nearinfinity.blur.thrift.BlurClientManager.execute(BlurClientManager.java:124) > at > com.nearinfinity.blur.thrift.BlurClient$BlurClientInvocationHandler.invoke(BlurClient.java:29) > at $Proxy0.createTable(Unknown Source) > at > com.nearinfinity.blur.testsuite.CreateInsertQueryRepeating.createTable(CreateInsertQueryRepeating.java:108) > at > com.nearinfinity.blur.testsuite.CreateInsertQueryRepeating.<init>(CreateInsertQueryRepeating.java:66) > at > com.nearinfinity.blur.testsuite.CreateInsertQueryRepeating.main(CreateInsertQueryRepeating.java:129)
