mirror of https://github.com/apache/druid.git
fix DruidSetup not working
This commit is contained in:
parent
d826537672
commit
54c48aac6d
|
@ -20,6 +20,7 @@
|
||||||
package com.metamx.druid.coordination;
|
package com.metamx.druid.coordination;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.base.Predicates;
|
||||||
import com.google.common.collect.Ordering;
|
import com.google.common.collect.Ordering;
|
||||||
import com.metamx.common.ISE;
|
import com.metamx.common.ISE;
|
||||||
import com.metamx.common.guava.FunctionalIterable;
|
import com.metamx.common.guava.FunctionalIterable;
|
||||||
|
@ -254,7 +255,8 @@ public class ServerManager implements QuerySegmentWalker
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
)
|
||||||
|
.filter(Predicates.<QueryRunner<T>>notNull());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -144,6 +144,10 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
|
|
||||||
final Interval dataInterval = new Interval(getMinTime().getMillis(), gran.next(getMaxTime().getMillis()));
|
final Interval dataInterval = new Interval(getMinTime().getMillis(), gran.next(getMaxTime().getMillis()));
|
||||||
|
|
||||||
|
if (!actualInterval.overlaps(dataInterval)) {
|
||||||
|
return ImmutableList.of();
|
||||||
|
}
|
||||||
|
|
||||||
if (actualInterval.getStart().isBefore(dataInterval.getStart())) {
|
if (actualInterval.getStart().isBefore(dataInterval.getStart())) {
|
||||||
actualInterval = actualInterval.withStart(dataInterval.getStart());
|
actualInterval = actualInterval.withStart(dataInterval.getStart());
|
||||||
}
|
}
|
||||||
|
@ -352,8 +356,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
return column.lookupId(name);
|
return column.lookupId(name);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return new DimensionSelector()
|
return new DimensionSelector()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -484,27 +487,25 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
if (cachedColumnVals == null) {
|
if (cachedColumnVals == null) {
|
||||||
Column holder = index.getColumn(columnName);
|
Column holder = index.getColumn(columnName);
|
||||||
|
|
||||||
if(holder != null) {
|
if (holder != null) {
|
||||||
final ColumnCapabilities capabilities = holder.getCapabilities();
|
final ColumnCapabilities capabilities = holder.getCapabilities();
|
||||||
|
|
||||||
if(capabilities.hasMultipleValues()) {
|
if (capabilities.hasMultipleValues()) {
|
||||||
throw new UnsupportedOperationException(
|
throw new UnsupportedOperationException(
|
||||||
"makeObjectColumnSelector does not support multivalued columns"
|
"makeObjectColumnSelector does not support multivalued columns"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(capabilities.isDictionaryEncoded()) {
|
if (capabilities.isDictionaryEncoded()) {
|
||||||
cachedColumnVals = holder.getDictionaryEncoding();
|
cachedColumnVals = holder.getDictionaryEncoding();
|
||||||
}
|
} else if (capabilities.getType() == ValueType.COMPLEX) {
|
||||||
else if(capabilities.getType() == ValueType.COMPLEX) {
|
|
||||||
cachedColumnVals = holder.getComplexColumn();
|
cachedColumnVals = holder.getComplexColumn();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
cachedColumnVals = holder.getGenericColumn();
|
cachedColumnVals = holder.getGenericColumn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cachedColumnVals != null) {
|
if (cachedColumnVals != null) {
|
||||||
objectColumnCache.put(columnName, cachedColumnVals);
|
objectColumnCache.put(columnName, cachedColumnVals);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -513,11 +514,11 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cachedColumnVals instanceof GenericColumn) {
|
if (cachedColumnVals instanceof GenericColumn) {
|
||||||
final GenericColumn columnVals = (GenericColumn) cachedColumnVals;
|
final GenericColumn columnVals = (GenericColumn) cachedColumnVals;
|
||||||
final ValueType type = columnVals.getType();
|
final ValueType type = columnVals.getType();
|
||||||
|
|
||||||
if(type == ValueType.FLOAT) {
|
if (type == ValueType.FLOAT) {
|
||||||
return new ObjectColumnSelector<Float>()
|
return new ObjectColumnSelector<Float>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -533,7 +534,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if(type == ValueType.LONG) {
|
if (type == ValueType.LONG) {
|
||||||
return new ObjectColumnSelector<Long>()
|
return new ObjectColumnSelector<Long>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -549,7 +550,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if(type == ValueType.STRING) {
|
if (type == ValueType.STRING) {
|
||||||
return new ObjectColumnSelector<String>()
|
return new ObjectColumnSelector<String>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -585,7 +586,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
final ComplexColumn columnVals = (ComplexColumn)cachedColumnVals;
|
final ComplexColumn columnVals = (ComplexColumn) cachedColumnVals;
|
||||||
return new ObjectColumnSelector()
|
return new ObjectColumnSelector()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -623,8 +624,8 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
Closeables.closeQuietly(complexColumn);
|
Closeables.closeQuietly(complexColumn);
|
||||||
}
|
}
|
||||||
for (Object column : complexColumnCache.values()) {
|
for (Object column : complexColumnCache.values()) {
|
||||||
if(column instanceof Closeable) {
|
if (column instanceof Closeable) {
|
||||||
Closeables.closeQuietly((Closeable)column);
|
Closeables.closeQuietly((Closeable) column);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -791,8 +792,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
return column.lookupId(name);
|
return column.lookupId(name);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return new DimensionSelector()
|
return new DimensionSelector()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -923,26 +923,24 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
if (cachedColumnVals == null) {
|
if (cachedColumnVals == null) {
|
||||||
Column holder = index.getColumn(columnName);
|
Column holder = index.getColumn(columnName);
|
||||||
|
|
||||||
if(holder != null) {
|
if (holder != null) {
|
||||||
if(holder.getCapabilities().hasMultipleValues()) {
|
if (holder.getCapabilities().hasMultipleValues()) {
|
||||||
throw new UnsupportedOperationException(
|
throw new UnsupportedOperationException(
|
||||||
"makeObjectColumnSelector does not support multivalued columns"
|
"makeObjectColumnSelector does not support multivalued columns"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
final ValueType type = holder.getCapabilities().getType();
|
final ValueType type = holder.getCapabilities().getType();
|
||||||
|
|
||||||
if(holder.getCapabilities().isDictionaryEncoded()) {
|
if (holder.getCapabilities().isDictionaryEncoded()) {
|
||||||
cachedColumnVals = holder.getDictionaryEncoding();
|
cachedColumnVals = holder.getDictionaryEncoding();
|
||||||
}
|
} else if (type == ValueType.COMPLEX) {
|
||||||
else if(type == ValueType.COMPLEX) {
|
|
||||||
cachedColumnVals = holder.getComplexColumn();
|
cachedColumnVals = holder.getComplexColumn();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
cachedColumnVals = holder.getGenericColumn();
|
cachedColumnVals = holder.getGenericColumn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cachedColumnVals != null) {
|
if (cachedColumnVals != null) {
|
||||||
objectColumnCache.put(columnName, cachedColumnVals);
|
objectColumnCache.put(columnName, cachedColumnVals);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -951,11 +949,11 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cachedColumnVals instanceof GenericColumn) {
|
if (cachedColumnVals instanceof GenericColumn) {
|
||||||
final GenericColumn columnVals = (GenericColumn) cachedColumnVals;
|
final GenericColumn columnVals = (GenericColumn) cachedColumnVals;
|
||||||
final ValueType type = columnVals.getType();
|
final ValueType type = columnVals.getType();
|
||||||
|
|
||||||
if(type == ValueType.FLOAT) {
|
if (type == ValueType.FLOAT) {
|
||||||
return new ObjectColumnSelector<Float>()
|
return new ObjectColumnSelector<Float>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -971,7 +969,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if(type == ValueType.LONG) {
|
if (type == ValueType.LONG) {
|
||||||
return new ObjectColumnSelector<Long>()
|
return new ObjectColumnSelector<Long>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -987,7 +985,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if(type == ValueType.STRING) {
|
if (type == ValueType.STRING) {
|
||||||
return new ObjectColumnSelector<String>()
|
return new ObjectColumnSelector<String>()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -1023,7 +1021,7 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
final ComplexColumn columnVals = (ComplexColumn)cachedColumnVals;
|
final ComplexColumn columnVals = (ComplexColumn) cachedColumnVals;
|
||||||
return new ObjectColumnSelector()
|
return new ObjectColumnSelector()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -1059,7 +1057,9 @@ public class QueryableIndexStorageAdapter extends BaseStorageAdapter
|
||||||
Closeables.closeQuietly(complexColumn);
|
Closeables.closeQuietly(complexColumn);
|
||||||
}
|
}
|
||||||
for (Object column : objectColumnCache.values()) {
|
for (Object column : objectColumnCache.values()) {
|
||||||
if(column instanceof Closeable) Closeables.closeQuietly((Closeable)column);
|
if (column instanceof Closeable) {
|
||||||
|
Closeables.closeQuietly((Closeable) column);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,11 +103,13 @@ public class DruidSetup
|
||||||
if ("dump".equals(cmd) && args.length == 3) {
|
if ("dump".equals(cmd) && args.length == 3) {
|
||||||
final String zkConnect = args[1];
|
final String zkConnect = args[1];
|
||||||
curator = connectToZK(zkConnect);
|
curator = connectToZK(zkConnect);
|
||||||
|
curator.start();
|
||||||
String zpathBase = args[2];
|
String zpathBase = args[2];
|
||||||
dumpFromZk(curator, zkConnect, zpathBase, System.out);
|
dumpFromZk(curator, zkConnect, zpathBase, System.out);
|
||||||
} else if ("put".equals(cmd) && args.length == 3) {
|
} else if ("put".equals(cmd) && args.length == 3) {
|
||||||
final String zkConnect = args[1];
|
final String zkConnect = args[1];
|
||||||
curator = connectToZK(zkConnect);
|
curator = connectToZK(zkConnect);
|
||||||
|
curator.start();
|
||||||
final String pfile = args[2];
|
final String pfile = args[2];
|
||||||
putToZk(curator, pfile);
|
putToZk(curator, pfile);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue