@@ -68,18 +68,55 @@ tsdb_SRC := \
6868 src/core/TSQuery.java \
6969 src/core/TSSubQuery.java \
7070 src/core/WritableDataPoints.java \
71+ src/core/WriteableDataPointFilterPlugin.java \
7172 src/graph/Plot.java \
7273 src/meta/Annotation.java \
74+ src/meta/MetaDataCache.java \
7375 src/meta/TSMeta.java \
7476 src/meta/TSUIDQuery.java \
7577 src/meta/UIDMeta.java \
7678 src/query/QueryUtil.java \
79+ src/query/expression/Absolute.java \
80+ src/query/expression/Alias.java \
81+ src/query/expression/DiffSeries.java \
82+ src/query/expression/DivideSeries.java \
83+ src/query/expression/EDPtoDPS.java \
84+ src/query/expression/Expression.java \
85+ src/query/expression/ExpressionDataPoint.java \
86+ src/query/expression/ExpressionFactory.java \
87+ src/query/expression/ExpressionIterator.java \
88+ src/query/expression/ExpressionReader.java \
89+ src/query/expression/Expressions.java \
90+ src/query/expression/ExpressionTree.java \
91+ src/query/expression/HighestCurrent.java \
92+ src/query/expression/HighestMax.java \
93+ src/query/expression/IntersectionIterator.java \
94+ src/query/expression/ITimeSyncedIterator.java \
95+ src/query/expression/NumericFillPolicy.java \
96+ src/query/expression/MovingAverage.java \
97+ src/query/expression/MultiplySeries.java \
98+ src/query/expression/PostAggregatedDataPoints.java \
99+ src/query/expression/Scale.java \
100+ src/query/expression/SumSeries.java \
101+ src/query/expression/TimeShift.java \
102+ src/query/expression/TimeSyncedIterator.java \
103+ src/query/expression/UnionIterator.java \
104+ src/query/expression/VariableIterator.java \
77105 src/query/filter/TagVFilter.java \
78106 src/query/filter/TagVLiteralOrFilter.java \
79107 src/query/filter/TagVNotKeyFilter.java \
80108 src/query/filter/TagVNotLiteralOrFilter.java \
81109 src/query/filter/TagVRegexFilter.java \
82110 src/query/filter/TagVWildcardFilter.java \
111+ src/query/pojo/Downsampler.java \
112+ src/query/pojo/Expression.java \
113+ src/query/pojo/Filter.java \
114+ src/query/pojo/Join.java \
115+ src/query/pojo/Metric.java \
116+ src/query/pojo/Output.java \
117+ src/query/pojo/Query.java \
118+ src/query/pojo/Timespan.java \
119+ src/query/pojo/Validatable.java \
83120 src/search/SearchPlugin.java \
84121 src/search/SearchQuery.java \
85122 src/search/TimeSeriesLookup.java \
@@ -96,6 +133,7 @@ tsdb_SRC := \
96133 src/tools/MetaPurge.java \
97134 src/tools/MetaSync.java \
98135 src/tools/Search.java \
136+ src/tools/StartupPlugin.java \
99137 src/tools/TSDMain.java \
100138 src/tools/TextImporter.java \
101139 src/tools/TreeSync.java \
@@ -109,6 +147,7 @@ tsdb_SRC := \
109147 src/tsd/AnnotationRpc.java \
110148 src/tsd/BadRequestException.java \
111149 src/tsd/ConnectionManager.java \
150+ src/tsd/DropCachesRpc.java \
112151 src/tsd/GnuplotException.java \
113152 src/tsd/GraphHandler.java \
114153 src/tsd/HttpJsonSerializer.java \
@@ -121,10 +160,12 @@ tsdb_SRC := \
121160 src/tsd/LogsRpc.java \
122161 src/tsd/PipelineFactory.java \
123162 src/tsd/PutDataPointRpc.java \
163+ src/tsd/QueryExecutor.java \
124164 src/tsd/QueryRpc.java \
125165 src/tsd/RpcHandler.java \
126166 src/tsd/RpcPlugin.java \
127167 src/tsd/RpcManager.java \
168+ src/tsd/RpcUtil.java \
128169 src/tsd/RTPublisher.java \
129170 src/tsd/SearchRpc.java \
130171 src/tsd/StaticFileRpc.java \
@@ -140,8 +181,10 @@ tsdb_SRC := \
140181 src/uid/NoSuchUniqueName.java \
141182 src/uid/RandomUniqueId.java \
142183 src/uid/UniqueId.java \
184+ src/uid/UniqueIdFilterPlugin.java \
143185 src/uid/UniqueIdInterface.java \
144186 src/utils/ByteArrayPair.java \
187+ src/utils/ByteSet.java \
145188 src/utils/Config.java \
146189 src/utils/DateTime.java \
147190 src/utils/Exceptions.java \
@@ -153,21 +196,47 @@ tsdb_SRC := \
153196 src/utils/Threads.java
154197
155198tsdb_DEPS = \
156- $(ASYNCHBASE ) \
199+ $(COMMONS_LOGGING ) \
157200 $(GUAVA ) \
158201 $(LOG4J_OVER_SLF4J ) \
159202 $(LOGBACK_CLASSIC ) \
160203 $(LOGBACK_CORE ) \
161204 $(JACKSON_ANNOTATIONS ) \
162205 $(JACKSON_CORE ) \
163206 $(JACKSON_DATABIND ) \
207+ $(JAVACC ) \
208+ $(JEXL ) \
209+ $(JGRAPHT ) \
164210 $(NETTY ) \
165- $(PROTOBUF ) \
166211 $(SLF4J_API ) \
167212 $(SUASYNC ) \
168- $(ZOOKEEPER ) \
169213 $(APACHE_MATH )
170214
215+ if BIGTABLE
216+ tsdb_DEPS += \
217+ $(ALPN_BOOT ) \
218+ $(ASYNCBIGTABLE )
219+ maven_profile_bigtable := true
220+ maven_profile_hbase := false
221+ maven_profile_cassandra := false
222+ else
223+ if CASSANDRA
224+ tsdb_DEPS += \
225+ $(ASYNCCASSANDRA )
226+ maven_profile_bigtable := false
227+ maven_profile_hbase := false
228+ maven_profile_cassandra := true
229+ else
230+ tsdb_DEPS += \
231+ $(ASYNCHBASE ) \
232+ $(PROTOBUF ) \
233+ $(ZOOKEEPER )
234+ maven_profile_bigtable := false
235+ maven_profile_hbase := true
236+ maven_profile_cassandra := false
237+ endif
238+ endif
239+
171240test_SRC := \
172241 test/core/SeekableViewsForTest.java \
173242 test/core/BaseTsdbTest.java \
@@ -190,6 +259,7 @@ test_SRC := \
190259 test/core/TestSpanGroup.java \
191260 test/core/TestTags.java \
192261 test/core/TestTSDB.java \
262+ test/core/TestTSDBAddPoint.java \
193263 test/core/TestTsdbQueryDownsample.java \
194264 test/core/TestTsdbQueryDownsampleSalted.java \
195265 test/core/TestTsdbQuery.java \
@@ -206,12 +276,41 @@ test_SRC := \
206276 test/meta/TestTSMeta.java \
207277 test/meta/TestTSUIDQuery.java \
208278 test/meta/TestUIDMeta.java \
279+ test/query/expression/BaseTimeSyncedIteratorTest.java \
280+ test/query/expression/TestAbsolute.java \
281+ test/query/expression/TestAlias.java \
282+ test/query/expression/TestDiffSeries.java \
283+ test/query/expression/TestDivideSeries.java \
284+ test/query/expression/TestExpressionFactory.java \
285+ test/query/expression/TestExpressionIterator.java \
286+ test/query/expression/TestExpressionReader.java \
287+ test/query/expression/TestExpressions.java \
288+ test/query/expression/TestExpressionTree.java \
289+ test/query/expression/TestHighestCurrent.java \
290+ test/query/expression/TestHighestMax.java \
291+ test/query/expression/TestIntersectionIterator.java \
292+ test/query/expression/TestNumericFillPolicy.java \
293+ test/query/expression/TestMovingAverage.java \
294+ test/query/expression/TestMultiplySeries.java \
295+ test/query/expression/TestPostAggregatedDataPoints.java \
296+ test/query/expression/TestScale.java \
297+ test/query/expression/TestSumSeries.java \
298+ test/query/expression/TestTimeSyncedIterator.java \
299+ test/query/expression/TestUnionIterator.java \
209300 test/query/filter/TestTagVFilter.java \
210301 test/query/filter/TestTagVLiteralOrFilter.java \
211302 test/query/filter/TestTagVNotKeyFilter.java \
212303 test/query/filter/TestTagVNotLiteralOrFilter.java \
213304 test/query/filter/TestTagVRegexFilter.java \
214305 test/query/filter/TestTagVWildcardFilter.java \
306+ test/query/pojo/TestDownsampler.java \
307+ test/query/pojo/TestExpression.java \
308+ test/query/pojo/TestFilter.java \
309+ test/query/pojo/TestJoin.java \
310+ test/query/pojo/TestMetric.java \
311+ test/query/pojo/TestOutput.java \
312+ test/query/pojo/TestQuery.java \
313+ test/query/pojo/TestTimeSpan.java \
215314 test/search/TestSearchPlugin.java \
216315 test/search/TestSearchQuery.java \
217316 test/search/TestTimeSeriesLookup.java \
@@ -237,6 +336,7 @@ test_SRC := \
237336 test/tsd/TestHttpQuery.java \
238337 test/tsd/TestHttpRpcPluginQuery.java \
239338 test/tsd/TestPutRpc.java \
339+ test/tsd/TestQueryExecutor.java \
240340 test/tsd/TestQueryRpc.java \
241341 test/tsd/TestQueryRpcLastDataPoint.java \
242342 test/tsd/TestRpcHandler.java \
@@ -252,6 +352,7 @@ test_SRC := \
252352 test/uid/TestRandomUniqueId.java \
253353 test/uid/TestUniqueId.java \
254354 test/utils/TestByteArrayPair.java \
355+ test/utils/TestByteSet.java \
255356 test/utils/TestConfig.java \
256357 test/utils/TestDateTime.java \
257358 test/utils/TestExceptions.java \
@@ -286,11 +387,11 @@ test_DEPS = \
286387 $(tsdb_DEPS ) \
287388 $(JAVASSIST ) \
288389 $(JUNIT ) \
289- $(HAMCREST ) \
390+ $(HAMCREST ) \
290391 $(MOCKITO ) \
291- $(OBJENESIS ) \
392+ $(OBJENESIS ) \
292393 $(POWERMOCK_MOCKITO ) \
293- $(jar )
394+ $(jar )
294395
295396httpui_SRC := \
296397 src/tsd/client/DateTimeBox.java \
@@ -304,12 +405,18 @@ httpui_SRC := \
304405
305406httpui_DEPS = src/tsd/QueryUi.gwt.xml
306407
408+ # TODO(CL) - There is likely a MUCH better way to compile and add the expression sources and jars.
409+ expr_grammar = $(srcdir ) /src/parser.jj
410+ expr_package = net/opentsdb/query/expression/parser
411+ expr_src_dir = $(builddir ) /src/$(expr_package )
412+ get_expr_classes = ` classes=' ' ; for f in $( packagedir) $( expr_package) /* .class; do classes=" $$ classes $$ f" ; done ; echo $$ classes; `
413+
307414# dist_pkgdata_DATA = src/logback.xml
308415dist_static_DATA = \
309416 src/tsd/static/favicon.ico \
310417 src/tsd/static/opentsdb_header.jpg
311418
312- EXTRA_DIST = tsdb.in $(tsdb_SRC ) $(test_SRC ) \
419+ EXTRA_DIST = tsdb.in $(tsdb_SRC ) $(test_SRC ) $( expr_grammar ) \
313420 $(test_plugin_SRC ) $(test_plugin_MF ) $(test_plugin_SVCS:%=test/% ) \
314421 $(THIRD_PARTY ) $(THIRD_PARTY:=.md5 ) \
315422 $(httpui_SRC ) $(httpui_DEPS ) \
@@ -379,6 +486,9 @@ filter_src = \
379486 src="$$src $$i";; \
380487 esac; \
381488 done; \
489+ for f in $(expr_src_dir ) /*.java; do \
490+ src="$$src $$f"; \
491+ done; \
382492 test -n "$$src" || exit 0
383493# Touches all the targets if any of the dependencies are newer.
384494# This is useful to force-recompile all files if one of the
@@ -395,7 +505,7 @@ $(tsdb_SRC): $(tsdb_DEPS)
395505
396506find_jar = test -f "$$jar" && echo "$$jar" || echo "$(srcdir ) /$$jar"
397507get_dep_classpath = ` for jar in $( tsdb_DEPS) ; do $( find_jar) ; done | tr ' \n' ' :' `
398- .javac-stamp : $(tsdb_SRC ) $(builddata_SRC )
508+ .javac-stamp : $(tsdb_SRC ) $(builddata_SRC ) runjavacc
399509 @$(filter_src ) ; cp=$(get_dep_classpath ) ; \
400510 echo "$(JAVA_COMPILE) -cp $$cp $$src"; \
401511 $(JAVA_COMPILE) -cp $$cp $$src
@@ -611,8 +721,8 @@ manifest: .javac-stamp .git/HEAD
611721 echo "Implementation-Version : $(git_version ) "; \
612722 echo "Implementation-Vendor : $(spec_vendor ) "; } >"$@ "
613723
614- $(jar ) : manifest .javac-stamp $( classes )
615- $(JAR ) cfm ` basename $( jar) ` manifest $(classes_with_nested_classes ) \
724+ $(jar ) : manifest .javac-stamp
725+ $(JAR ) cfm ` basename $( jar) ` manifest $(classes_with_nested_classes ) $( get_expr_classes ) \
616726 || { rv=$$? && rm -f `basename $(jar)` && exit $$rv; }
617727# ^^^^^^^^^^^^^^^^^^^^^^^
618728# I've seen cases where `jar' exits with an error but leaves a partially built .jar file!
@@ -636,6 +746,9 @@ $(JAVADOC_DIR)/index.html: $(tsdb_SRC)
636746 -link $(JDK_JAVADOC) -link $(NETTY_JAVADOC) -link $(SUASYNC_JAVADOC) \
637747 $? $(builddata_SRC)
638748
749+ runjavacc :
750+ $(JAVA ) -cp $(JAVACC ) javacc -OUTPUT_DIRECTORY:$(expr_src_dir ) $(expr_grammar ) ; echo PWD: ` pwd` ;
751+
639752dist-hook :
640753 $(mkdir_p ) $(distdir ) /.git
641754 echo $(git_version ) > $(distdir ) /.git/HEAD
@@ -666,6 +779,8 @@ pom.xml: pom.xml.in Makefile
666779 echo ' <!-- Generated by Makefile on ' ` date` ' -->' ; \
667780 sed < $< \
668781 -e ' s/@ASYNCHBASE_VERSION@/$(ASYNCHBASE_VERSION)/' \
782+ -e ' s/@ASYNCBIGTABLE_VERSION@/$(ASYNCBIGTABLE_VERSION)/' \
783+ -e ' s/@ASYNCCASSANDRA_VERSION@/$(ASYNCCASSANDRA_VERSION)/' \
669784 -e ' s/@GUAVA_VERSION@/$(GUAVA_VERSION)/' \
670785 -e ' s/@GWT_VERSION@/$(GWT_VERSION)/' \
671786 -e ' s/@GWT_THEME_VERSION@/$(GWT_THEME_VERSION)/' \
@@ -684,9 +799,14 @@ pom.xml: pom.xml.in Makefile
684799 -e ' s/@SUASYNC_VERSION@/$(SUASYNC_VERSION)/' \
685800 -e ' s/@ZOOKEEPER_VERSION@/$(ZOOKEEPER_VERSION)/' \
686801 -e ' s/@APACHE_MATH_VERSION@/$(APACHE_MATH_VERSION)/' \
802+ -e ' s/@JEXL_VERSION@/$(JEXL_VERSION)/' \
803+ -e ' s/@JGRAPHT_VERSION@/$(JGRAPHT_VERSION)/' \
687804 -e ' s/@spec_title@/$(spec_title)/' \
688805 -e ' s/@spec_vendor@/$(spec_vendor)/' \
689806 -e ' s/@spec_version@/$(PACKAGE_VERSION)/' \
807+ -e ' s/@maven_profile_hbase@/$(maven_profile_hbase)/' \
808+ -e ' s/@maven_profile_bigtable@/$(maven_profile_bigtable)/' \
809+ -e ' s/@maven_profile_cassandrae@/$(maven_profile_cassandra)/' \
690810 ; \
691811 } > $@ -t
692812 mv $@ -t ../$@
@@ -741,7 +861,7 @@ debian: dist staticroot
741861 cp -r gwt/queryui/* $(distdir)/debian/usr/share/opentsdb/static
742862 `for dep_jar in $(tsdb_DEPS); do cp $$dep_jar \
743863 $(distdir)/debian/usr/share/opentsdb/lib; done;`
744- cp $(top_srcdir)/tools/* $(distdir)/debian/usr/share/opentsdb/tools
864+ cp -r $(top_srcdir)/tools/* $(distdir)/debian/usr/share/opentsdb/tools
745865 dpkg -b $(distdir)/debian $(distdir)/opentsdb-$(PACKAGE_VERSION)_all.deb
746866
747867.PHONY : jar doc check gwtc gwtdev printdeps staticroot gwttsd rpm
0 commit comments