Commit Graph

66 Commits

Author SHA1 Message Date
Eric Zhao 51b21921f5 Bump version to 1.8.3-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2021-12-22 14:48:43 +08:00
Eric Zhao 4498de480f Bump version to 1.8.2
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2021-07-05 19:59:44 +08:00
Yan Haonan 4aaf8e9093
Remove unused HotParameterLeapArray in param flow control module (#2070) 2021-03-08 10:52:25 +08:00
Eric Zhao fca70646ad Bump version to 1.8.2-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2021-02-04 16:45:40 +08:00
Eric Zhao ae214b5244 Bump version to 1.8.1
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2021-02-04 15:30:44 +08:00
cdfive 62efb78d4e
Refactor SpiLoader and enhance SPI mechanism (#1383)
* Add `@Spi` annotation as the general annotation for SPI definition.
* Add isDefault in @Spi, add loadDefaultInstance and improve loadFirstInstanceOrDefault method, improve test cases
* Add SpiLoaderException class for thrown when something goes wrong while loading Provider
* Rearrange packages of base SPI mechanism

NOTE: this PR contains breaking changes regarding API.
2021-01-27 09:45:56 +08:00
brothelul 70b457bdc8
Fix potential NPE bug when updating ParamFlowRule before the resource has been requested once (#1901) 2020-12-18 11:20:38 +08:00
nickChenyx cc2d1a69a9
Optimize logging statements using placeholder (#1736)
* Optimize logging statements using placeholder to avoid unnecessary concatenation (issue #1735)
2020-09-17 20:42:01 +08:00
Eric Zhao e58267012d Bump version to 1.8.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2020-08-21 14:36:49 +08:00
Eric Zhao d17bf8c7cc Bump version to 1.8.0
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2020-08-20 19:47:20 +08:00
Eric Zhao a18ef7cbfa Remove deprecated passCheck() in Rule and polish interface
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2020-08-05 10:42:15 +08:00
zechao zheng 0d7da77d03
Add support for extracting param from complex object (#1491)
* This could enable specified parameter flow control for customized objects.
2020-05-26 19:38:00 +08:00
wavesZh 096a9ebf7d
Improve deprecated ParameterMetric purge mechanism (#1372)
* Clear useless data in ParameterMetric for all removed rules
2020-05-07 20:04:12 +08:00
Eric Zhao 7f3165740a Refactor the mechanism of recording error in Entry and StatisticSlot
* Also polish related complete callbacks

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2020-04-28 10:11:17 +08:00
Eric Zhao a0196b6b00 Bump version to 1.8.0-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2020-04-13 20:19:22 +08:00
Eric Zhao 6a7ec708bc Bump version to 1.7.2
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2020-04-08 09:42:02 +08:00
cdfive be4d058bf8
refactor: Make the ProcessorSlot itself as SPI and deprecate legacy slot chain builder (#411)
* Make slots loaded by SPI, mark all slots with @SpiOrder from -10000 to -1000, improve comment
* Reserve gateway and param slot chain builder (just extends DefaultSlotChainBuilder) and mark them as @Deprecated
2020-03-26 12:38:01 +08:00
echooymxq b136848873 Adjust the order of slots in HotParamSlotChainBuilder (#1246) 2020-01-15 10:42:58 +08:00
Eric Zhao 87142ce512 Bump version to 1.7.2-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-12-25 11:19:07 +08:00
Eric Zhao 9c909e3631 Bump version to 1.7.1
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-12-24 20:05:23 +08:00
Eric Zhao 9705f54611 Bump version to 1.7.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-11-12 11:08:14 +08:00
Eric Zhao 8cdf1de854 Bump version to 1.7.0
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-11-11 21:12:58 +08:00
Eric Zhao d59beaec66
Fix the bug that numeric overflow might occur when refilling tokens in ParamFlowChecker (#838)
- use AtomicLong to replace AtomicInteger

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-18 13:39:37 +08:00
Eric Zhao f8ebbbccf4 Bump version to 1.7.0-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-25 15:07:19 +08:00
Eric Zhao 3d2c33ef1d Bump version to 1.6.1 (release)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-23 09:49:15 +08:00
Eric Zhao 77dec5f845 Separate parameter metric storage from ParamFlowSlot and improve ParamFlowRuleUtil
- Add a ParameterMetricStorage specific for caching ParameterMetric (moved from ParamSlot)
- Add rule map building helper method in ParamFlowRuleUtil so that we can reuse it in other rule managers

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-22 09:47:41 +08:00
Eric Zhao 346e9b274e Bump version to 1.6.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-04-25 09:38:59 +08:00
Eric Zhao b1345f751f Bump version to 1.6.0 (release)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-04-24 20:42:32 +08:00
Eric Zhao 5f713bd404 Update toString() method of ParamFlowRule
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-04-22 14:46:38 +08:00
Eric Zhao e9719d32ec
Refactor flow algorithm for parameter flow control and support more traffic shaping mode (#677)
* support burst count, statistic interval per rule and throttling mode.
* Add fields in ParamFlowRule to support burst count, throttle, statistic interval per rule.
* Deprecate HotParamLeapArray and use token bucket algorithm directly.
2019-04-22 11:06:26 +08:00
Eric Zhao 29f22e370b
Fix the NPE bug when passing null args to SphU.entry() and paramIdx is negative (#642)
- Also rearrangement of some code

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-04-04 09:40:23 +08:00
Eric Zhao 0c3bf96678 Bump version to 1.6.0-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-03-27 18:00:06 +08:00
Eric Zhao 48286e0ff8 Bump version to 1.5.1 (release)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-03-27 15:23:11 +08:00
Eric Zhao 0d4c47b23e Bump version to 1.5.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-03-14 16:50:53 +08:00
Eric Zhao 053f7172a3 Bump version to 1.5.0 (release)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-03-14 15:33:57 +08:00
Eric Zhao 1741da0bab
Automatically de-duplicate rules when loading rules (#571)
* De-duplicate rules automatically when loading rules
* Update rule managers

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-03-14 14:05:13 +08:00
Eric Zhao 044cdbb1bf
Add occupy mechanism for future buckets of sliding window to support "prioritized requests final pass" (#568)
* Rename: MetricsLeapArray -> BucketLeapArray
* Add implementation for `FutureBucketLeapArray`, a kind of `BucketLeapArray` that only reserves for future buckets, which is used for calculating occupied future tokens.
* Add OccupiableBucketLeapArray that combines common BucketLeapArray with FutureBucketLeapArray. The rollingNumberInSecond in StatisticNode now uses OccupiableBucketLeapArray by default.
* Add OccupySupport interface. Node now implements OccupySupport interface.
* Add occupy-related methods in Metric and ArrayMetric.
* Handle prioritized requests in default traffic shaping controller.
* Update default occupyTimeout to 500ms

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-03-14 10:04:56 +08:00
Carpenter Lee b8e295a138 Convert negative paramIdx of ParamFlowRule in ParamFlowSlot
Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2019-03-07 10:29:51 +08:00
Carpenter Lee 80797ae85e Allow negative paramIndex as reversed-order in ParamFlowRule (#549)
* Allow negative paramIndex in ParamFlowRule

Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2019-03-06 19:06:58 +08:00
逅弈 59d923ebc1 Add an ApiCommandHandler to list all available commands and description (#491)
* Add a ApiCommandHandler which fetch all registered CommandHandlers so that user can get all available CommandHandlers by request /api
* Add a customized CommandHandler demo
2019-03-01 13:39:50 +08:00
Eric Zhao 5b260a9f75 Bump version to 1.5.0-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-02-21 19:41:50 +08:00
Eric Zhao 2e0fe23384 Bump version to 1.4.2 (release)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-02-20 14:15:33 +08:00
Eric Zhao 020a63fdb5
Bug fix: NPE when adding event count in ParamMapBucket (#494)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-02-20 13:57:05 +08:00
Eric Zhao 412e1ece47
Carry the triggered rule in subclasses of BlockException (#469)
* Extract getRule in BlockException and refine override methods in subclasses

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-01-31 14:24:05 +08:00
Eric Zhao bac35ac100 Add back thread count metric type support for parameter flow control
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-01-30 09:37:13 +08:00
Eric Zhao d4d85dbc7c Bump version to 1.4.2-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-01-04 19:08:07 +08:00
Eric Zhao 225d81ed93 Bump version to 1.4.1
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-01-04 14:59:50 +08:00
Eric Zhao 832d6e425d Update document to meet Markdown lint
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-29 15:23:27 +08:00
Eric Zhao f046194d6b Add sampleCount and windowInterval item to cluster config of flow rule and param rule
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-25 11:44:40 +08:00
Eric Zhao a2b91a9030 Refactor the constructor and units of LeapArray and related statistic class
- The constructor now accept `sampleCount` and `windowIntervalMs` so that it can match the two basic properties

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-24 18:02:50 +08:00