Skip to content
This repository has been archived by the owner on Nov 14, 2024. It is now read-only.

Feature/qos service api #2629

Merged
merged 47 commits into from
Dec 2, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f5664a2
Extremely basic QosServiceResource
gsheasby Nov 2, 2017
6beb734
Make resource an interface
gsheasby Nov 2, 2017
45cc7fc
Add client PathParam
gsheasby Nov 2, 2017
f0345e9
Clean up javax.ws.rs dependencies
gsheasby Nov 2, 2017
013582c
Create stub for AtlasDbQosClient
gsheasby Nov 3, 2017
a303b1e
Calls to checkLimit use up a credit; throw when out of credits
gsheasby Nov 3, 2017
139a208
Add QosServiceResourceImpl + test
gsheasby Nov 3, 2017
fb925d3
AutoDelegate for Cassandra.Client
gsheasby Nov 3, 2017
50cc876
Rename QosService stuff
gsheasby Nov 3, 2017
bcbde47
Pass AtlasDbQosClient to CassandraClient
gsheasby Nov 3, 2017
9be8291
Check limit on multiget_slice
gsheasby Nov 3, 2017
e2efe14
Check limit on batch_mutate
gsheasby Nov 3, 2017
47de8d5
Don't test we aren't soft-limited while we can never be soft-limited
gsheasby Nov 3, 2017
c7cfa3d
Check limit on remaining CassandraClient methods
gsheasby Nov 6, 2017
d5fa2db
Scheduled refresh of AtlasDbQosClient.credits
gsheasby Nov 6, 2017
9666ee0
Refresh every second
gsheasby Nov 6, 2017
7717ee4
Mount qos-service on Timelock
hsaraogi Nov 6, 2017
db0037b
Checkstyle
hsaraogi Nov 7, 2017
5ccf451
Update dependency locks
gsheasby Nov 7, 2017
c191cb7
Merge branch 'develop' into feature/qos-service-api
hsaraogi Nov 7, 2017
364ae22
Dont throw limitExceededException
hsaraogi Nov 7, 2017
5515d31
Move client param around
hsaraogi Nov 8, 2017
32ed6bc
Comment
hsaraogi Nov 8, 2017
ffa5e5a
Qos Service config (#2644)
hsaraogi Nov 8, 2017
f8d687f
[QoS] qos ete test (#2652)
nziebart Nov 8, 2017
1613da4
[QoS] rate limiter (#2653)
nziebart Nov 10, 2017
3873586
[QoS] Feature/qos client (#2650)
hsaraogi Nov 10, 2017
103fd97
deps
Nov 10, 2017
22b1e7a
fix tests
Nov 10, 2017
3d1f43f
[QoS] Feature/qos meters (#2640)
hsaraogi Nov 10, 2017
3797765
[QoS] QosClient with ratelimiter (#2667)
hsaraogi Nov 13, 2017
509f3e9
locks
hsaraogi Nov 13, 2017
34dcd28
[QoS] Create a jaxrs-client for the integ tests (#2675)
hsaraogi Nov 14, 2017
b8f8312
Nziebart/merge develop into qos (#2683)
nziebart Nov 15, 2017
4fcef06
qos rate limiting (#2709)
fsamuel-bs Nov 20, 2017
d0b9ae0
[QoS] Estimate the number of read bytes w/ number of rows (#2717)
fsamuel-bs Nov 21, 2017
8998354
weight estimates (#2725)
nziebart Nov 21, 2017
bbd272e
[QoS] Fix exceptions thrown on CqlExecutor (#2696)
fsamuel-bs Nov 22, 2017
d2d7b18
[QoS] Qos ete test (#2708)
hsaraogi Nov 24, 2017
be45487
[QoS] Fix/qos system table rate limiting (#2739)
hsaraogi Nov 24, 2017
bf251e1
Merge develop to the feature branch (#2741)
hsaraogi Nov 27, 2017
11192dd
Nziebart/cell timestamps qos (#2745)
nziebart Nov 28, 2017
d4c2c67
Merge branch 'develop' into feature/qos-service-api
hsaraogi Nov 28, 2017
ae1a3d5
Differentiate between read and write limits when logging (#2751)
hsaraogi Nov 29, 2017
b5caa16
Merge branch 'develop' into feature/qos-service-api
nziebart Dec 1, 2017
da8e513
Use longs in the rate limiter and handle negative adjustments. (#2758)
hsaraogi Dec 1, 2017
92aa59c
Merge branch 'develop' into feature/qos-service-api
hsaraogi Dec 1, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion atlasdb-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ apply from: "../gradle/shared.gradle"
dependencies {
compile project(":atlasdb-commons")
compile project(":timestamp-api")
compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
compile project(":qos-service-api")
compile group: 'javax.ws.rs', name: 'javax.ws.rs-api'
compile group: 'org.apache.commons', name: 'commons-lang3'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind'
compile group: 'javax.validation', name: 'validation-api'

compile group: 'com.palantir.remoting-api', name: 'ssl-config'
compile group: 'com.palantir.remoting3', name: 'jaxrs-clients'

processor group: 'org.immutables', name: 'value'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
import com.palantir.atlasdb.config.LeaderConfig;
import com.palantir.atlasdb.keyvalue.api.KeyValueService;
import com.palantir.atlasdb.keyvalue.api.TableReference;
import com.palantir.atlasdb.qos.FakeQosClient;
import com.palantir.atlasdb.qos.QosClient;
import com.palantir.timestamp.TimestampService;
import com.palantir.timestamp.TimestampStoreInvalidator;

Expand All @@ -34,7 +36,8 @@ public interface AtlasDbFactory {

default KeyValueService createRawKeyValueService(
KeyValueServiceConfig config, Optional<LeaderConfig> leaderConfig) {
return createRawKeyValueService(config, leaderConfig, Optional.empty(), DEFAULT_INITIALIZE_ASYNC);
return createRawKeyValueService(config, leaderConfig, Optional.empty(), DEFAULT_INITIALIZE_ASYNC,
FakeQosClient.INSTANCE);
}

/**
Expand All @@ -46,13 +49,15 @@ default KeyValueService createRawKeyValueService(
* absent. If both are present, they must match.
* @param initializeAsync If the implementations supports it, and initializeAsync is true, the KVS will initialize
* asynchronously when synchronous initialization fails.
* @param qosClient the client for checking limits from the Quality-of-Service service.
* @return The requested KeyValueService instance
*/
KeyValueService createRawKeyValueService(
KeyValueServiceConfig config,
Optional<LeaderConfig> leaderConfig,
Optional<String> namespace,
boolean initializeAsync);
boolean initializeAsync,
QosClient qosClient);

default TimestampService createTimestampService(KeyValueService rawKvs) {
return createTimestampService(rawKvs, Optional.empty(), DEFAULT_INITIALIZE_ASYNC);
Expand Down
Loading