Skip to content

Commit

Permalink
Async Lock Service Part 1: Server-side Impl (#2068)
Browse files Browse the repository at this point in the history
* async lock

* lock acquirer

* immutable timestamp lock

* held locks and expiration

* lock service

* fix build [no release notes]

* prevent stack overflow

* PR comments

* more tests

* synchronize method

* unlockIfExpired

* use correct GuardedBy

* lease expiration timer test

* fix test

* ignore long tests;

* pr comments

* checkstyle

* hopefully make errorprone happy

* fix errorprone

* pr comments

* pr comments

* more reaper tests

* extra test
  • Loading branch information
nziebart committed Jul 18, 2017
1 parent b74f0a9 commit e997a8d
Show file tree
Hide file tree
Showing 74 changed files with 2,461 additions and 124 deletions.
16 changes: 16 additions & 0 deletions atlasdb-api/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@
"com.palantir.remoting2:ssl-config": {
"locked": "2.3.0"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-commons",
"com.palantir.atlasdb:commons-executors",
"com.palantir.atlasdb:timestamp-api"
]
},
"io.dropwizard.metrics:metrics-core": {
"locked": "3.1.2",
"transitive": [
Expand Down Expand Up @@ -147,6 +155,14 @@
"com.palantir.remoting2:ssl-config": {
"locked": "2.3.0"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-commons",
"com.palantir.atlasdb:commons-executors",
"com.palantir.atlasdb:timestamp-api"
]
},
"io.dropwizard.metrics:metrics-core": {
"locked": "3.1.2",
"transitive": [
Expand Down
6 changes: 6 additions & 0 deletions atlasdb-cassandra-integration-tests/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"com.google.code.findbugs:annotations": {
"locked": "2.0.3"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
},
"org.apache.ant:ant": {
"locked": "1.9.4",
"requested": "1.9.4"
Expand All @@ -18,6 +21,9 @@
"com.google.code.findbugs:annotations": {
"locked": "2.0.3"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
},
"org.apache.ant:ant": {
"locked": "1.9.4",
"requested": "1.9.4"
Expand Down
6 changes: 6 additions & 0 deletions atlasdb-cassandra-multinode-tests/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"com.google.code.findbugs:annotations": {
"locked": "2.0.3"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
},
"org.apache.ant:ant": {
"locked": "1.9.4",
"requested": "1.9.4"
Expand All @@ -18,6 +21,9 @@
"com.google.code.findbugs:annotations": {
"locked": "2.0.3"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
},
"org.apache.ant:ant": {
"locked": "1.9.4",
"requested": "1.9.4"
Expand Down
4 changes: 2 additions & 2 deletions atlasdb-cassandra/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-client",
"com.palantir.atlasdb:timestamp-impl"
Expand Down Expand Up @@ -640,7 +640,7 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-client",
"com.palantir.atlasdb:timestamp-impl"
Expand Down
35 changes: 22 additions & 13 deletions atlasdb-cli-distribution/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"compileClasspath": {
"com.google.code.findbugs:annotations": {
"locked": "2.0.3"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
}
},
"runtime": {
Expand Down Expand Up @@ -39,7 +42,6 @@
"com.palantir.atlasdb:leader-election-api",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:timestamp-api",
"com.palantir.atlasdb:timestamp-client",
"io.dropwizard:dropwizard-jackson",
"io.dropwizard:dropwizard-util"
]
Expand Down Expand Up @@ -74,7 +76,6 @@
"com.palantir.atlasdb:atlasdb-dbkvs-hikari",
"com.palantir.atlasdb:atlasdb-persistent-lock-api",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.config.crypto:encrypted-config-value",
"com.palantir.config.crypto:encrypted-config-value-module",
"com.palantir.remoting2:error-handling",
Expand Down Expand Up @@ -173,7 +174,6 @@
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:lock-impl",
"com.palantir.atlasdb:timestamp-api",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.atlasdb:timestamp-impl",
"com.palantir.tritium:tritium-api",
"com.palantir.tritium:tritium-core",
Expand Down Expand Up @@ -297,7 +297,6 @@
"com.palantir.atlasdb:leader-election-impl",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:lock-impl",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.atlasdb:timestamp-impl"
]
},
Expand Down Expand Up @@ -429,14 +428,6 @@
"transitive": [
"com.palantir.atlasdb:atlasdb-api",
"com.palantir.atlasdb:atlasdb-impl-shared",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.atlasdb:timestamp-impl"
]
},
"com.palantir.atlasdb:timestamp-client": {
"project": true,
"transitive": [
"com.palantir.atlasdb:atlasdb-config",
"com.palantir.atlasdb:timestamp-impl"
]
},
Expand Down Expand Up @@ -507,15 +498,33 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-api",
"com.palantir.atlasdb:atlasdb-cassandra",
"com.palantir.atlasdb:atlasdb-cli",
"com.palantir.atlasdb:atlasdb-client",
"com.palantir.atlasdb:atlasdb-client-protobufs",
"com.palantir.atlasdb:atlasdb-commons",
"com.palantir.atlasdb:atlasdb-config",
"com.palantir.atlasdb:atlasdb-dbkvs",
"com.palantir.atlasdb:atlasdb-dbkvs-hikari",
"com.palantir.atlasdb:atlasdb-impl-shared",
"com.palantir.atlasdb:atlasdb-jdbc",
"com.palantir.atlasdb:atlasdb-lock-api",
"com.palantir.atlasdb:atlasdb-persistent-lock-api",
"com.palantir.atlasdb:atlasdb-service",
"com.palantir.atlasdb:commons-annotations",
"com.palantir.atlasdb:commons-api",
"com.palantir.atlasdb:commons-db",
"com.palantir.atlasdb:commons-executors",
"com.palantir.atlasdb:commons-proxy",
"com.palantir.atlasdb:leader-election-api",
"com.palantir.atlasdb:leader-election-api-protobufs",
"com.palantir.atlasdb:leader-election-impl",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:lock-impl",
"com.palantir.atlasdb:timestamp-api",
"com.palantir.atlasdb:timestamp-impl"
]
},
Expand Down
4 changes: 2 additions & 2 deletions atlasdb-cli/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-cassandra",
"com.palantir.atlasdb:atlasdb-client",
Expand Down Expand Up @@ -1172,7 +1172,7 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-cassandra",
"com.palantir.atlasdb:atlasdb-client",
Expand Down
6 changes: 6 additions & 0 deletions atlasdb-client-protobufs/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
"com.google.protobuf:protobuf-java": {
"locked": "2.6.0",
"requested": "2.6.0"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
}
},
"runtime": {
Expand All @@ -15,6 +18,9 @@
"com.google.protobuf:protobuf-java": {
"locked": "2.6.0",
"requested": "2.6.0"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
}
}
}
18 changes: 16 additions & 2 deletions atlasdb-client/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,14 @@
"locked": "2.3.0"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1"
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-api",
"com.palantir.atlasdb:atlasdb-client-protobufs",
"com.palantir.atlasdb:atlasdb-commons",
"com.palantir.atlasdb:commons-executors",
"com.palantir.atlasdb:timestamp-api"
]
},
"com.palantir.tritium:tritium-api": {
"locked": "0.6.0",
Expand Down Expand Up @@ -397,7 +404,14 @@
"locked": "2.3.0"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1"
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-api",
"com.palantir.atlasdb:atlasdb-client-protobufs",
"com.palantir.atlasdb:atlasdb-commons",
"com.palantir.atlasdb:commons-executors",
"com.palantir.atlasdb:timestamp-api"
]
},
"com.palantir.tritium:tritium-api": {
"locked": "0.6.0",
Expand Down
12 changes: 12 additions & 0 deletions atlasdb-commons/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
"com.palantir.atlasdb:commons-executors": {
"project": true
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:commons-executors"
]
},
"io.dropwizard.metrics:metrics-core": {
"locked": "3.1.2"
},
Expand Down Expand Up @@ -54,6 +60,12 @@
"com.palantir.atlasdb:commons-executors": {
"project": true
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:commons-executors"
]
},
"io.dropwizard.metrics:metrics-core": {
"locked": "3.1.2"
},
Expand Down
4 changes: 2 additions & 2 deletions atlasdb-config/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-client",
"com.palantir.atlasdb:atlasdb-impl-shared",
Expand Down Expand Up @@ -841,7 +841,7 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-client",
"com.palantir.atlasdb:atlasdb-impl-shared",
Expand Down
35 changes: 22 additions & 13 deletions atlasdb-console-distribution/versions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"compileClasspath": {
"com.google.code.findbugs:annotations": {
"locked": "2.0.3"
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.3"
}
},
"runtime": {
Expand Down Expand Up @@ -39,7 +42,6 @@
"com.palantir.atlasdb:leader-election-api",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:timestamp-api",
"com.palantir.atlasdb:timestamp-client",
"io.dropwizard:dropwizard-jackson",
"io.dropwizard:dropwizard-util"
]
Expand Down Expand Up @@ -74,7 +76,6 @@
"com.palantir.atlasdb:atlasdb-dbkvs-hikari",
"com.palantir.atlasdb:atlasdb-persistent-lock-api",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.config.crypto:encrypted-config-value",
"com.palantir.config.crypto:encrypted-config-value-module",
"com.palantir.remoting2:error-handling",
Expand Down Expand Up @@ -173,7 +174,6 @@
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:lock-impl",
"com.palantir.atlasdb:timestamp-api",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.atlasdb:timestamp-impl",
"com.palantir.tritium:tritium-api",
"com.palantir.tritium:tritium-core",
Expand Down Expand Up @@ -289,7 +289,6 @@
"com.palantir.atlasdb:leader-election-impl",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:lock-impl",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.atlasdb:timestamp-impl"
]
},
Expand Down Expand Up @@ -418,14 +417,6 @@
"transitive": [
"com.palantir.atlasdb:atlasdb-api",
"com.palantir.atlasdb:atlasdb-impl-shared",
"com.palantir.atlasdb:timestamp-client",
"com.palantir.atlasdb:timestamp-impl"
]
},
"com.palantir.atlasdb:timestamp-client": {
"project": true,
"transitive": [
"com.palantir.atlasdb:atlasdb-config",
"com.palantir.atlasdb:timestamp-impl"
]
},
Expand Down Expand Up @@ -496,15 +487,33 @@
]
},
"com.palantir.safe-logging:safe-logging": {
"locked": "0.1.1",
"locked": "0.1.3",
"transitive": [
"com.palantir.atlasdb:atlasdb-api",
"com.palantir.atlasdb:atlasdb-cassandra",
"com.palantir.atlasdb:atlasdb-client",
"com.palantir.atlasdb:atlasdb-client-protobufs",
"com.palantir.atlasdb:atlasdb-commons",
"com.palantir.atlasdb:atlasdb-config",
"com.palantir.atlasdb:atlasdb-console",
"com.palantir.atlasdb:atlasdb-dbkvs",
"com.palantir.atlasdb:atlasdb-dbkvs-hikari",
"com.palantir.atlasdb:atlasdb-impl-shared",
"com.palantir.atlasdb:atlasdb-jdbc",
"com.palantir.atlasdb:atlasdb-lock-api",
"com.palantir.atlasdb:atlasdb-persistent-lock-api",
"com.palantir.atlasdb:atlasdb-service",
"com.palantir.atlasdb:commons-annotations",
"com.palantir.atlasdb:commons-api",
"com.palantir.atlasdb:commons-db",
"com.palantir.atlasdb:commons-executors",
"com.palantir.atlasdb:commons-proxy",
"com.palantir.atlasdb:leader-election-api",
"com.palantir.atlasdb:leader-election-api-protobufs",
"com.palantir.atlasdb:leader-election-impl",
"com.palantir.atlasdb:lock-api",
"com.palantir.atlasdb:lock-impl",
"com.palantir.atlasdb:timestamp-api",
"com.palantir.atlasdb:timestamp-impl"
]
},
Expand Down
Loading

0 comments on commit e997a8d

Please sign in to comment.