You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by xs...@apache.org on 2021/10/25 03:41:44 UTC
[rocketmq-streams] branch main updated (32d41d3 -> e094ca0)
This is an automated email from the ASF dual-hosted git repository.
xstorm pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-streams.git.
from 32d41d3 [ISSUE #85] Recorrect example. (#84)
new ed97ca3 add channel-db module
new 1992a35 add channel-configurable
new 75530c6 add chinese
new 143ccaf fix AbstractChannel removeSplit adNewSplit function
new 8173abb fixed DataStream flatMap
new 1ee8eeb U
new 4d83d6c stash & pre merge
new 83fc5f5 Update README.md
new 4fc0b0e update readme.md
new 6995908 Merge pull request #28 from Laura-monkey/main
new dc1dd11 feat(doc) change Chinese doc file path
new d331282 Merge pull request #30 from duhenglucky/duheng-doc
new 854dde3 Merge pull request #26 from ni-ze/main
new 966592e feat(code style) exclude ci files in apache rat check
new 5e4d63e feat(doc) add quickstart link
new 5dbcd1d Merge pull request #32 from duhenglucky/duheng-doc
new f651ed0 Merge pull request #1 from apache/main
new da44720 add license header
new 8896bdf Merge pull request #36 from duhenglucky/main_license
new 26ceaf7 Merge pull request #2 from apache/main
new 865528b Merge branch 'main' of https://github.com/francisoliverlee/rocketmq-streams into main
new c03b1b9 fix code check fail: not ovride removeSplit() and addNewSplit()
new a4d234a Merge pull request #35 from francisoliverlee/main
new fced1e6 style(test) remove unused file
new 3e3ea0e add license
new 23ce111 Change 'metaq' to 'rocketmq'
new 2a1ef0b remove unnecessary block comments
new c8935a6 Merge pull request #38 from caigy/main
new cf4ac69 Update README.md
new 0328f0f Update README.md
new dd86085 Update README.md
new c966fe7 Enable codecov
new 0dd9458 Update README.md
new e98cc65 Try to step with codecov
new 53c2aee Update .travis.yml
new eaad138 Enable test default
new 585a72d modify some error or code style
new 80b711e roll back
new 94ce208 merge
new 4bba6a6 remove redundancy code
new 472e238 Merge branch 'apache:main' into main
new 72385fd merge
new 8582d04 Merge remote-tracking branch 'upstream/main'
new aaabe19 Merge pull request #39 from ni-ze/main
new b93192f Update .travis.yml
new 3d596c7 Format badge
new f1bbde9 Debug why pass test
new 96d2127 test
new b573f3a test window exactly once success and fixed bugs
new 750b04e test window exactly once success and fixed bugs set dipper properties commint ignore
new f261840 add bitset cache to optimize select rocketmq builder compatible metaq fixed message systemmessage not set in deepcopy fixed script compile script expression bugs window fire support test model
new cd6743f add cache filter to excute quickly for script
new a961f27 sink support sql cache than can batch submit sqls
new cfe9573 add transit source and sink to support merge same source sql
new 7d5f354 read rocketmq and print.
new 961363d Merge pull request #43 from yuanxiaodong/window
new 81b3fff merge
new 77f60eb RocketMQSourceExample2 can run now, read form mq and print.
new 1502952 Merge pull request #44 from ni-ze/private/debug
new 2532777 Merge pull request #46 from yuanxiaodong/window
new 8b2a0d9 Merge branch 'main' of https://github.com/apache/rocketmq-streams into window
new ae3396b add logfinger filter strategy fixed bugs for sink batch insert
new 1bbacfc Merge pull request #49 from yuanxiaodong/window
new d06bc30 some file lack of apace license. (#52)
new a897b47 a runnable window example reading data from rocketmq. (#54)
new ccb119a Merge branch 'async-ck' of https://github.com/apache/rocketmq-streams into window
new 7752a44 add update logic for the DBSinker 、 upgrade the concat_ws function (#57)
new 0742cf4 Joinwindow bug fix (#61)
new 87a3222 Add Sqlmode (#63)
new c80ab6e pull from apache
new bb22e67 fixed bugs
new e7d7136 Merge pull request #67 from yuanxiaodong/window
new b1e95a6 Merge remote-tracking branch 'source/async-ck' into async-ck
new 59f27e5 add license for chackpoint/pom.xml
new a53073c add license for checkpoint/pom.xml
new a6de2a9 fix license
new 8bc8f8c add enhancedbsink with atomic sink && multiplesink feature
new 6d7fbee add connectors module
new ecc314f fix
new d990413 add baseline
new 2766990 add checkpoint storage (#69)
new 3f25e4f Merge remote-tracking branch 'source/async-ck' into base-line
new e9ae379 merge
new 93002ed U
new c13419c bug fix
new c78bc70 U
new 864e073 U
new 6343a94 U
new 86dda7b add session window implemention and fix issues of function
new 2079f87 optimize implementation of session window
new 23d56ea fix substring issue( different from substring in java)
new 7ee0d5d add client implementation and it's test case
new f25c8c3 use java templ file
new d84b22e support for count(distinct)
new abc7580 #74 add count(distinct) implementation based on rocksdb
new 99c844e #74 add LRU state
new edd1426 update
new 474a093 Merge pull request #71 from speak2me/commit_20210923
new 7b52876 add session window implemention and fix issues of function
new 914b0da optimize implementation of session window
new c9b1553 fix substring issue( different from substring in java)
new 1b7bbd7 add client implementation and it's test case
new 6800063 use java templ file
new b947009 support for count(distinct)
new a59029b #74 add count(distinct) implementation based on rocksdb
new b62bff6 #74 add LRU state
new a689adc update
new fea6460 Merge pull request #79 from speak2me/async-ck-local
new ad25aeb Merge remote-tracking branch 'source/async-ck' into base-line
new 43258a9 U
new 58d2c1f Merge branch 'async-ck' into base-line
new 550b125 Merge remote-tracking branch 'origin/base-line' into base-line
new e970c73 update
new a4f12ad U
new f117c35 add license
new 0a6d2c0 add license
new 98f743d Merge pull request #81 from cw68ster/base-line
new f629927 add 'synchronized', fix joinwindow firewindow issue
new c621e7d Merge pull request #83 from xstorm1/async-ck
new 8d26bab feat(rocketmq-sink) polish rocketmq topic create and rocketmq setting process
new 3e120e1 fix(code_style) exclude rat check for test files
new 0cfa651 fix(code_style) exclude rat check file
new eae20f9 Merge pull request #64 from duhenglucky/main_sink
new 3612f79 Add a quick start which contain some examples. (#68)
new 792caa3 Update README.md
new bc08f09 Update quick_start.md
new ed76a95 SDK添加去重机制和指纹机制
new 6a3ea18 Merge pull request #77 from programer-0/develop
new 1cfc234 add session window implemention and fix issues of function
new 7daee56 optimize implementation of session window
new a27653b fix substring issue( different from substring in java)
new 621d3a8 add client implementation and it's test case
new 66d7c4c Merge branch 'master' into commit_20210922
new ccd19e8 use java templ file
new d21c4c8 support for count(distinct)
new 77a550b #74 add count(distinct) implementation based on rocksdb
new 5fdf0f0 #74 add LRU state
new 0b1eac6 update
new f0d79a4 Merge pull request #70 from speak2me/commit_20210922
new 5e550a9 Add a quick start which contain some examples. (#68)
new 3143427 Update README.md
new 849b2dd Update quick_start.md
new 7cc5a19 add new examples: mutil streams clients consume same topic, do the same calculate
new 43fce17 fix conflict: merge from mian
new 86bf372 add read.md file illustrate
new 5838304 modify README.md
new 551f2b9 Merge branch 'main' into private/debug
new 5cb2bb0 Merge pull request #75 from ni-ze/private/debug
new 715fdb5 [ISSUE #85] Recorrect example. (#84)
new 89a362a merge from apache
new 7d30c3e support hyperscan open by switch configure
new 2e9540b Merge branch 'main' of https://github.com/apache/rocketmq-streams into window
new 026cb6c optimize filter performance by simplify filter calculate
new e9cc44c test rule engine success
new a20d878 merge from apache
new 3822021 Merge branch 'main' of https://github.com/apache/rocketmq-streams into window
new 0c61ea6 merge from apache
new 64dd2a8 add Licensed
new ed0cfee restructure finger print
new 25eb1f3 restructure finger print
new 2e01e59 all finger print use same cache add cache strategy to close Poor effect cache
new 255b544 merge from apache
new d58e2ac add dependency tree
new b13d3ab 1.fingerprint support mutil layer 2.support dependency tree 3. add inner function 4.support shuffle over window
new b884781 add topN ,Distinct operator
new a39782c support topn
new 561ca01 add distinct add over window add having add emit
new 156e255 pull from apache
new 308fa2f delete property files
new 9df6784 add license
new e094ca0 Merge pull request #87 from yuanxiaodong/window
The 337 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README-Chinese.md => README-chinese.md | 0
build_without_test.sh | 2 +-
pom.xml | 19 +-
.../org/apache/rocketmq/streams/db/CycleSplit.java | 48 +--
.../streams/db/DynamicMultipleDBSplit.java | 81 +++++
.../streams/db/sink/AbstractMultiTableSink.java | 44 ++-
.../apache/rocketmq/streams/db/sink/DBSink.java | 58 ++++
.../streams/db/sink/DynamicMultipleDBSink.java | 91 +++++
.../rocketmq/streams/db/sink/EnhanceDBSink.java | 371 +++++++++++++++++++++
.../streams/db/sink/sqltemplate/ISqlTemplate.java | 32 +-
.../MysqlInsertIgnoreIntoSqlTemplate.java | 24 +-
.../sqltemplate/MysqlInsertIntoSqlTemplate.java | 67 ++++
...MysqlInsertIntoWithDuplicateKeySqlTemplate.java | 55 +++
.../db/sink/sqltemplate/SqlTemplateFactory.java | 41 +++
.../streams/db/sink/db/DBWriteOnlyChannelTest.java | 10 +-
.../streams/db/sink/db/ISqlTemplateTest.java | 86 +++++
.../apache/rocketmq/streams/sink/RocketMQSink.java | 11 +-
.../pom.xml | 50 +--
.../streams/checkpoint/db/DBCheckPointStorage.java | 71 ++++
rocketmq-streams-clients/pom.xml | 6 +-
.../rocketmq/streams/client/DataStreamAction.java | 31 +-
.../streams/client/ScheduledStreamBuilder.java | 68 ++++
.../rocketmq/streams/client/ScheduledTask.java | 70 ++++
.../streams/client/source/DataStreamSource.java | 99 +++++-
...owStrategy.java => LogFingerprintStrategy.java} | 40 +--
.../streams/client/transform/DataStream.java | 118 +++++--
.../streams/client/transform/OverWindowStream.java | 85 +++++
.../client/transform/window/WindowInfo.java | 2 +
.../apache/rocketmq/streams/client/DBSinkTest.java | 91 +++++
.../apache/rocketmq/streams/client/SourceTest.java | 8 +
.../client/windows/ShuffleOverWindowTest.java | 60 ++++
.../streams/common/cache/compress/BitSetCache.java | 77 +++--
.../common/cache/compress/ByteArrayValueKV.java | 26 +-
.../cache/compress/impl/FixedLenRowCacheKV.java | 2 +-
.../common/cache/compress/impl/ListValueKV.java | 2 +-
.../common/cache/compress/impl/LongValueKV.java | 2 +-
.../common/cache/compress/impl/StringValueKV.java | 6 +-
.../streams/common/channel/AbstractChannel.java | 17 +
...OutputPrintChannel.java => CollectionSink.java} | 29 +-
...nnelBuilder.java => CollectionSinkBuilder.java} | 15 +-
.../common/channel/impl/CollectionSource.java | 163 +++++++++
.../common/channel/impl/OutputPrintChannel.java | 11 +-
.../common/channel/impl/memory/MemoryChannel.java | 7 +
.../common/channel/impl/transit/TransitSink.java | 63 ++--
.../streams/common/channel/sink/AbstractSink.java | 35 +-
.../channel/sink/AbstractSupportShuffleSink.java | 6 +-
.../streams/common/channel/sink/ISink.java | 4 +
.../channel/sinkcache/impl/MessageCache.java | 8 +-
.../common/channel/source/AbstractSource.java | 105 ++++--
.../streams/common/channel/source/ISource.java | 19 +-
...litMessage.java => ChangeTableNameMessage.java} | 25 +-
.../checkpoint/AbstractCheckPointStorage.java | 192 +++++++++++
.../streams/common/checkpoint/CheckPoint.java | 98 ++++--
.../common/checkpoint/CheckPointManager.java | 261 ++++++---------
.../common/checkpoint/CheckPointMessage.java | 10 +
.../checkpoint/CheckPointStorageFactory.java | 84 +++++
.../ICheckPointStorage.java} | 28 +-
.../streams/common/checkpoint/SourceSnapShot.java | 77 +++++
.../streams/common/checkpoint/SourceState.java | 57 ++++
.../streams/common/configure/ConfigureFileKey.java | 8 +
.../streams/common/configure/StreamsConfigure.java | 59 ++++
.../streams/common/context/AbstractContext.java | 33 +-
...oreMessage.java => IExpressionResultCache.java} | 7 +-
.../{DataJsonable.java => DateTimeDataType.java} | 37 +-
.../streams/common/datatype/HllDataType.java | 1 -
.../streams/common/functions/FlatMapFunction.java | 4 +-
.../streams/common/interfaces/IFilterService.java | 10 +
.../{ISystemMessage.java => ILifeCycle.java} | 9 +-
.../streams/common/metadata/AbstractMetaData.java | 26 +-
.../{MetaDataAdapter.java => LogicMetaData.java} | 44 ++-
.../streams/common/metadata/MetaDataUtils.java | 236 +++++++++++++
.../optimization/CalculationResultCache.java | 63 ----
.../common/optimization/FilterResultCache.java | 52 +++
.../common/optimization/HyperscanRegex.java | 52 +--
.../streams/common/optimization/LikeRegex.java | 68 +++-
.../common/optimization/LogFingerprintFilter.java | 152 ---------
.../common/optimization/OptimizationRegex.java | 6 +-
.../optimization/SQLLogFingerprintFilter.java | 53 ---
.../cachefilter/AbstractCacheFilter.java | 50 ---
.../cachefilter/CacheFilterFactory.java | 64 ----
.../optimization/cachefilter/CacheFilterGroup.java | 81 -----
.../cachefilter/CacheFilterManager.java | 52 ---
.../optimization/cachefilter/ICacheFilter.java | 50 ---
.../optimization/fingerprint/FingerprintCache.java | 221 ++++++++++++
.../fingerprint/FingerprintMetric.java | 97 ++++++
.../optimization/fingerprint/PreFingerprint.java | 97 ++++++
.../AbstractMutilPipelineChainPipline.java | 4 +
.../streams/common/topology/ChainPipeline.java | 21 +-
.../streams/common/topology/ChainStage.java | 8 +-
.../common/topology/builder/PipelineBuilder.java | 3 +
.../common/topology/model/AbstractRule.java | 11 +
.../common/topology/model/AbstractStage.java | 176 ++++------
.../streams/common/topology/model/Pipeline.java | 42 +++
.../common/topology/stages/FilterChainStage.java | 205 +++++++-----
.../common/topology/stages/OutputChainStage.java | 1 +
.../topology/stages/SubPiplineChainStage.java | 98 +++---
.../common/topology/stages/udf/UDFChainStage.java | 42 +--
.../streams/common/utils/ContantsUtil.java | 5 +-
.../streams/common/utils/DataTypeUtil.java | 25 +-
.../rocketmq/streams/common/utils/MapKeyUtil.java | 26 +-
.../rocketmq/streams/common/utils/ReflectUtil.java | 3 +
.../rocketmq/streams/common/utils/SQLUtil.java | 171 ++++++++++
.../rocketmq/streams/common/utils/TraceUtil.java | 11 +-
rocketmq-streams-configurable/pom.xml | 1 +
.../src/main/resources/log4j.xml | 36 --
.../pom.xml | 14 +-
.../rocketmq/streams/connectors/IBounded.java | 9 +-
.../streams/connectors/IBoundedSource.java | 15 +-
.../streams/connectors/IBoundedSourceReader.java | 10 +-
.../connectors/balance/AbstractBalance.java | 204 +++++++++++
.../streams/connectors/balance/IBalanceTask.java | 6 +-
.../streams/connectors/balance/ISourceBalance.java | 48 +--
.../streams/connectors/balance/SplitChanged.java | 44 +--
.../connectors/balance/impl/LeaseBalanceImpl.java | 141 ++++++++
.../streams/connectors/model/PullMessage.java | 40 +--
.../streams/connectors/model/ReaderStatus.java | 121 +++++++
.../streams/connectors/reader/DBScanReader.java | 270 +++++++++++++++
.../streams/connectors/reader/ISplitReader.java | 101 ++++++
.../connectors/reader/SplitCloseFuture.java | 83 +++++
.../connectors/source/AbstractPullSource.java | 271 +++++++++++++++
.../source/CycleDynamicMultipleDBScanSource.java | 213 ++++++++++++
.../source/DynamicMultipleDBScanSource.java | 192 +++++++++++
.../streams/connectors/source/IPullSource.java | 42 +--
.../streams/connectors/source/SourceInstance.java | 22 +-
.../source/filter/AbstractPatternFilter.java | 26 +-
.../source/filter/BoundedPatternFilter.java | 56 ++++
.../source/filter/CyclePatternFilter.java | 173 ++++++++++
.../connectors/source/filter/CyclePeriod.java | 231 +++++++++++++
.../connectors/source/filter/CycleSchedule.java | 239 +++++++++++++
.../source/filter/CycleScheduleFilter.java | 18 +-
.../source/filter/DataFormatPatternFilter.java | 109 ++++++
.../connectors/source/filter/PatternFilter.java | 29 +-
.../rocketmq/streams/db/driver/orm/ORMUtil.java | 27 ++
.../src/main/resources/tables_mysql_innodb.sql | 16 +
.../rocketmq/streams/filter/FilterComponent.java | 5 +-
.../streams/filter/builder/ExpressionBuilder.java | 26 +-
.../streams/filter/builder/RuleBuilder.java | 25 ++
.../streams/filter/engine/IRuleEngine.java | 8 +-
.../filter/engine/impl/DefaultRuleEngine.java | 27 +-
.../filter/function/expression/InFunction.java | 4 +
.../filter/function/expression/IsNotNull.java | 4 +
.../streams/filter/function/expression/IsNull.java | 4 +-
.../filter/function/expression/LikeFunction.java | 8 -
.../filter/function/expression/RegexFunction.java | 20 +-
.../filter/function/script/CaseFunction.java | 2 +-
.../rocketmq/streams/filter/operator/Rule.java | 32 +-
.../operator/action/impl/CaseWhenAction.java | 46 +++
.../filter/operator/expression/Expression.java | 74 +++-
.../operator/expression/GroupExpression.java | 96 ++++--
.../expression/GroupExpressionManager.java | 16 +-
.../operator/expression/RelationExpression.java | 61 ++--
.../operator/expression/SimpleExpression.java | 57 ----
.../optimization/AbstractExpressionProxy.java | 70 ----
.../streams/filter/optimization/CaseProxy.java | 97 ------
.../optimization/EqualsExpressionOptimization.java | 39 ---
.../filter/optimization/EqualsExpressionProxy.java | 33 --
.../optimization/ExpressionProxyFactory.java | 61 ----
.../optimization/IExpressionOptimization.java | 38 ---
.../optimization/LikeExpressionOptimization.java | 39 ---
.../filter/optimization/LikeExpressionProxy.java | 33 --
.../optimization/OptimizationExpression.java | 71 ----
.../PiplineLogFingerprintAnalysis.java | 7 +-
.../optimization/RegexExpressionOptimization.java | 39 ---
.../filter/optimization/RegexExpressionProxy.java | 34 --
.../casewhen/AbstractWhenExpression.java | 208 ++++++++++++
.../optimization/casewhen/CaseWhenBuilder.java | 234 +++++++++++++
.../optimization/casewhen/CaseWhenElement.java | 166 +++++++++
.../optimization/casewhen/GroupByVarCaseWhen.java | 123 +++++++
.../casewhen/MutilCaseWhenExpression.java | 35 +-
.../casewhen/SingleCaseWhenExpression.java | 84 +++++
.../optimization/dependency/DependencyTree.java | 12 +-
.../optimization/dependency/FilterTreeNode.java | 111 ++++++
.../optimization/dependency/PipelineTree.java | 57 ++++
.../optimization/dependency/ScriptDependent.java | 110 ++++++
.../optimization/dependency/ScriptTreeNode.java | 32 +-
.../dependency/SimplePipelineTree.java | 63 ++++
.../filter/optimization/dependency/TreeNode.java | 76 +++++
.../optimization/dependency/UnionTreeNode.java | 71 ++++
.../optimization/executor/AbstractExecutor.java | 13 +-
.../optimization/executor/GroupByVarExecutor.java | 212 ++++++++++++
.../optimization/executor/HyperscanExecutor.java | 141 ++++++++
.../result/GroupQuickFilterResult.java | 70 ++++
.../optimization/script/ScriptOptimization.java | 48 +++
.../streams/filter/service/IRuleEngineService.java | 9 -
.../filter/service/impl/RuleEngineServiceImpl.java | 23 +-
.../lease/service/impl/BasedLesaseImpl.java | 2 +-
.../rocketmq/streams/lease/LeaseComponentTest.java | 4 +-
rocketmq-streams-script/pom.xml | 2 +-
.../streams/script/context/FunctionContext.java | 12 +-
...Accumulator.java => FirstValueAccumulator.java} | 55 ++-
.../function/impl/between/BetweenFunction.java | 74 ++++
.../IFScopeFunction.java} | 24 +-
.../impl/date/CurrentTimestampFunction.java | 60 +++-
.../function/impl/date/DateFormatFunction.java | 17 +-
.../function/impl/date/DateUtileFunction.java | 17 +
.../function/impl/distinct/DistinctFunction.java | 68 ++++
.../function/impl/field/RemoveFieldFunction.java | 11 +
.../function/impl/flatmap/SplitArrayFunction.java | 7 +-
.../SpaceFunction.java => item/ItemFunction.java} | 50 ++-
.../function/impl/json/JsonValueFunction.java | 3 +
.../script/function/impl/math/BitFunction.java | 14 +-
.../{AtanFunction.java => IsDecimalFunction.java} | 61 ++--
.../script/function/impl/math/MathFunction.java | 21 ++
.../script/function/impl/string/RegexFunction.java | 11 +-
.../string/{AsciiFunction.java => String2Map.java} | 33 +-
.../function/impl/string/ToLowerFunction.java | 10 +
.../script/function/impl/udtf/UDTFFunction.java | 2 +-
.../script/function/model/FunctionConfigure.java | 1 +
.../function/model/FunctionConfigureMap.java | 3 +
.../script/function/model/FunctionType.java | 21 +-
.../script/function/service/IFunctionService.java | 3 +
.../service/impl/DefaultFunctionServiceImpl.java | 23 ++
.../operator/expression/GroupScriptExpression.java | 82 ++++-
.../operator/expression/ScriptExpression.java | 29 +-
.../script/operator/impl/FunctionScript.java | 32 +-
.../performance/AbstractScriptProxy.java | 83 -----
.../performance/CaseScriptExpressionProxy.java | 70 ----
.../optimization/performance/EqualsProxy.java | 43 ---
.../performance/IScriptOptimization.java | 75 +++++
.../optimization/performance/RegexProxy.java | 43 ---
.../performance/ScriptExpressionGroupsProxy.java | 90 -----
.../performance/ScriptOptimization.java | 291 ----------------
.../performance/ScriptProxyFactory.java | 59 ----
.../performance/SimpleScriptExpressionProxy.java | 75 -----
.../script/service/impl/ScriptServiceImpl.java | 3 +
.../streams/script/utils/ExpressionUtil.java | 66 ++++
.../streams/script/utils/FunctionUtils.java | 8 +-
.../src/main/resources/log4j.xml | 36 --
.../component/ServiceLoaderComponent.properties | 18 -
rocketmq-streams-state/pom.xml | 3 +-
.../rocketmq/streams/state/AbstractState.java | 65 ++++
.../state/{IEntryProcessor.java => ISchama.java} | 11 +-
.../{IState.java => backend/IStateBackend.java} | 120 +------
.../rocketmq/streams/state/impl/MapState.java | 11 +-
.../rocketmq/streams/state/kv/TestLruState.java | 8 +-
.../streams/state/kv/TestRocksdbState.java | 10 +-
rocketmq-streams-window/pom.xml | 2 -
.../streams/window/fire/EventTimeManager.java | 14 +-
.../rocketmq/streams/window/model/FireMode.java | 16 +
.../streams/window/model/WindowInstance.java | 107 +++++-
.../window/operator/AbstractShuffleWindow.java | 7 +-
.../streams/window/operator/AbstractWindow.java | 179 ++++++----
.../streams/window/operator/impl/OrderBy.java | 45 ++-
.../streams/window/operator/impl/OverWindow.java | 20 +-
.../window/operator/impl/ShuffleOverWindow.java | 132 ++++++++
.../streams/window/operator/impl/TopNState.java | 262 +++++++++++++++
.../window/operator/impl/WindowOperator.java | 17 +-
.../streams/window/operator/join/JoinWindow.java | 2 +-
.../window/shuffle/AbstractSystemChannel.java | 2 +-
.../streams/window/shuffle/ShuffleChannel.java | 68 ++--
.../rocketmq/streams/window/sqlcache/SQLCache.java | 6 +-
.../streams/window/state/AbstractMapState.java | 5 +-
.../streams/window/state/impl/WindowValue.java | 14 +
.../streams/window/storage/IWindowStorage.java | 4 +-
.../streams/window/storage/WindowStorage.java | 4 +-
.../src/main/resources/dipper.properties | 21 --
.../rocketmq/streams/storage/RocksdbTest.java | 14 +-
.../streams/window/WindowInstanceTest.java | 5 +-
258 files changed, 10717 insertions(+), 3702 deletions(-)
copy README-Chinese.md => README-chinese.md (100%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/impl/memory/MemorySplit.java => rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/CycleSplit.java (52%)
create mode 100644 rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/DynamicMultipleDBSplit.java
create mode 100644 rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/DynamicMultipleDBSink.java
create mode 100644 rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/EnhanceDBSink.java
copy rocketmq-streams-window/src/main/java/org/apache/rocketmq/streams/window/storage/IRemoteStorage.java => rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/sqltemplate/ISqlTemplate.java (52%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/impl/OutputPrintChannel.java => rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/sqltemplate/MysqlInsertIgnoreIntoSqlTemplate.java (59%)
create mode 100644 rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/sqltemplate/MysqlInsertIntoSqlTemplate.java
create mode 100644 rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/sqltemplate/MysqlInsertIntoWithDuplicateKeySqlTemplate.java
create mode 100644 rocketmq-streams-channel-db/src/main/java/org/apache/rocketmq/streams/db/sink/sqltemplate/SqlTemplateFactory.java
create mode 100644 rocketmq-streams-channel-db/src/test/java/org/apache/rocketmq/streams/db/sink/db/ISqlTemplateTest.java
copy {rocketmq-streams-window => rocketmq-streams-checkpoint}/pom.xml (62%)
mode change 100755 => 100644
create mode 100644 rocketmq-streams-checkpoint/src/main/java/org/apache/rocketmq/streams/checkpoint/db/DBCheckPointStorage.java
create mode 100644 rocketmq-streams-clients/src/main/java/org/apache/rocketmq/streams/client/ScheduledStreamBuilder.java
create mode 100644 rocketmq-streams-clients/src/main/java/org/apache/rocketmq/streams/client/ScheduledTask.java
copy rocketmq-streams-clients/src/main/java/org/apache/rocketmq/streams/client/strategy/{WindowStrategy.java => LogFingerprintStrategy.java} (63%)
create mode 100644 rocketmq-streams-clients/src/main/java/org/apache/rocketmq/streams/client/transform/OverWindowStream.java
create mode 100644 rocketmq-streams-clients/src/test/java/org/apache/rocketmq/streams/client/DBSinkTest.java
create mode 100644 rocketmq-streams-clients/src/test/java/org/apache/rocketmq/streams/client/windows/ShuffleOverWindowTest.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/impl/{OutputPrintChannel.java => CollectionSink.java} (62%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/impl/{PrintChannelBuilder.java => CollectionSinkBuilder.java} (87%)
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/impl/CollectionSource.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/source/systemmsg/{RemoveSplitMessage.java => ChangeTableNameMessage.java} (63%)
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/checkpoint/AbstractCheckPointStorage.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/checkpoint/CheckPointStorageFactory.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/{channel/IChannel.java => checkpoint/ICheckPointStorage.java} (66%)
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/checkpoint/SourceSnapShot.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/checkpoint/SourceState.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/configure/StreamsConfigure.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/context/{IgnoreMessage.java => IExpressionResultCache.java} (89%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/datatype/{DataJsonable.java => DateTimeDataType.java} (67%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/interfaces/{ISystemMessage.java => ILifeCycle.java} (86%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/metadata/{MetaDataAdapter.java => LogicMetaData.java} (52%)
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/metadata/MetaDataUtils.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/CalculationResultCache.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/FilterResultCache.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/LogFingerprintFilter.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/SQLLogFingerprintFilter.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/cachefilter/AbstractCacheFilter.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/cachefilter/CacheFilterFactory.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/cachefilter/CacheFilterGroup.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/cachefilter/CacheFilterManager.java
delete mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/cachefilter/ICacheFilter.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/fingerprint/FingerprintCache.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/fingerprint/FingerprintMetric.java
create mode 100644 rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/fingerprint/PreFingerprint.java
delete mode 100755 rocketmq-streams-configurable/src/main/resources/log4j.xml
copy {rocketmq-streams-state => rocketmq-streams-connectors}/pom.xml (86%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/component/IgnoreNameSpace.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/IBounded.java (83%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/functions/MultiTableSplitFunction.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/IBoundedSource.java (79%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/cache/softreference/RebuildCacheElement.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/IBoundedSourceReader.java (81%)
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/balance/AbstractBalance.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/component/IgnoreNameSpace.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/balance/IBalanceTask.java (86%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/cache/softreference/ICache.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/balance/ISourceBalance.java (57%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/impl/memory/MemorySplit.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/balance/SplitChanged.java (51%)
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/balance/impl/LeaseBalanceImpl.java
copy rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/context/RuleMessage.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/model/PullMessage.java (51%)
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/model/ReaderStatus.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/reader/DBScanReader.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/reader/ISplitReader.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/reader/SplitCloseFuture.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/AbstractPullSource.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/CycleDynamicMultipleDBScanSource.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/DynamicMultipleDBScanSource.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/cache/softreference/ICache.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/IPullSource.java (58%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/utils/DipperThreadLocalUtil.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/SourceInstance.java (63%)
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/functions/SplitFunction.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/AbstractPatternFilter.java (64%)
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/BoundedPatternFilter.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/CyclePatternFilter.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/CyclePeriod.java
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/CycleSchedule.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/functions/FlatMapFunction.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/CycleScheduleFilter.java (65%)
create mode 100644 rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/DataFormatPatternFilter.java
rename rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/optimization/cachefilter/ICacheFilterBulider.java => rocketmq-streams-connectors/src/main/java/org/apache/rocketmq/streams/connectors/source/filter/PatternFilter.java (62%)
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/operator/action/impl/CaseWhenAction.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/AbstractExpressionProxy.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/CaseProxy.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/EqualsExpressionOptimization.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/EqualsExpressionProxy.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/ExpressionProxyFactory.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/IExpressionOptimization.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/LikeExpressionOptimization.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/LikeExpressionProxy.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/OptimizationExpression.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/RegexExpressionOptimization.java
delete mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/RegexExpressionProxy.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/casewhen/AbstractWhenExpression.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/casewhen/CaseWhenBuilder.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/casewhen/CaseWhenElement.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/casewhen/GroupByVarCaseWhen.java
copy rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/filter/BreakFunction.java => rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/casewhen/MutilCaseWhenExpression.java (53%)
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/casewhen/SingleCaseWhenExpression.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/channel/source/systemmsg/NewSplitMessage.java => rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/DependencyTree.java (74%)
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/FilterTreeNode.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/PipelineTree.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/ScriptDependent.java
copy rocketmq-streams-clients/src/test/java/org/apache/rocketmq/streams/client/windows/WindowDebugTest.java => rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/ScriptTreeNode.java (51%)
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/SimplePipelineTree.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/TreeNode.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/dependency/UnionTreeNode.java
copy rocketmq-streams-commons/src/main/java/org/apache/rocketmq/streams/common/configurable/annotation/NoSerialized.java => rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/executor/AbstractExecutor.java (65%)
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/executor/GroupByVarExecutor.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/executor/HyperscanExecutor.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/result/GroupQuickFilterResult.java
create mode 100644 rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/optimization/script/ScriptOptimization.java
copy rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/aggregation/{DistinctAccumulator.java => FirstValueAccumulator.java} (53%)
create mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/between/BetweenFunction.java
copy rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/{date/GetDateFunction.java => condition/IFScopeFunction.java} (67%)
create mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/distinct/DistinctFunction.java
copy rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/{string/SpaceFunction.java => item/ItemFunction.java} (56%)
copy rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/math/{AtanFunction.java => IsDecimalFunction.java} (50%)
copy rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/function/impl/string/{AsciiFunction.java => String2Map.java} (67%)
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/AbstractScriptProxy.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/CaseScriptExpressionProxy.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/EqualsProxy.java
create mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/IScriptOptimization.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/RegexProxy.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/ScriptExpressionGroupsProxy.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/ScriptOptimization.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/ScriptProxyFactory.java
delete mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/optimization/performance/SimpleScriptExpressionProxy.java
create mode 100644 rocketmq-streams-script/src/main/java/org/apache/rocketmq/streams/script/utils/ExpressionUtil.java
delete mode 100644 rocketmq-streams-script/src/main/resources/log4j.xml
delete mode 100644 rocketmq-streams-serviceloader/src/main/resources/component/ServiceLoaderComponent.properties
mode change 100755 => 100644 rocketmq-streams-state/pom.xml
copy rocketmq-streams-state/src/main/java/org/apache/rocketmq/streams/state/{IEntryProcessor.java => ISchama.java} (78%)
copy rocketmq-streams-state/src/main/java/org/apache/rocketmq/streams/state/{IState.java => backend/IStateBackend.java} (56%)
copy rocketmq-streams-dim/src/test/java/com/aliyun/service/TableCompressTest.java => rocketmq-streams-state/src/main/java/org/apache/rocketmq/streams/state/impl/MapState.java (75%)
copy rocketmq-streams-filter/src/main/java/org/apache/rocketmq/streams/filter/monitor/rule/NullMonitor.java => rocketmq-streams-window/src/main/java/org/apache/rocketmq/streams/window/operator/impl/OrderBy.java (53%)
create mode 100644 rocketmq-streams-window/src/main/java/org/apache/rocketmq/streams/window/operator/impl/ShuffleOverWindow.java
create mode 100644 rocketmq-streams-window/src/main/java/org/apache/rocketmq/streams/window/operator/impl/TopNState.java
delete mode 100644 rocketmq-streams-window/src/main/resources/dipper.properties