This commit updates all fixed dependencies to their latest version and
mades changes to the default configs to.
1. Increase the defaults for a few key values
2. Move some settings to new files to support MariaDB 10.3
3. Add a sample production configuration to allow easy deployment
Signed-off-by: DK <dk@planetscale.com>
The unit tests expect the user to be vitess, however that has a
negative impact on our ability to build the software inside the
containers. This specifically requires the user to be vitess for
testing
Signed-off-by: DK <dk@planetscale.com>
grpc from 1.11 to 1.15
protobuf from 3.0.0 to 3.5.1
jsr305 from 3.0.0 to 3.0.2
gson from 2.8.0 to 2.8.5
guava from 20.0 to 26.0-jre
commons-io from 2.5 to 2.6
netty from 4.1.22 to 4.1.27
joda-time from 2.5 to 2.10
commons-collections4 from 4.1 to 4.2
Signed-off-by: Jesse Wilson <jwilson@squareup.com>
Use the built-in gRPC name resolvers instead of pre-resolving a InetSocketAddress. This allows gRPC to re-resolve in the face of failures and peridocially in general.
Add a configurable RetryingInterceptor. For now this just retries UNAVAILABLE errors, which are considered transient by the spec. Allow for no-op mode and exponential backoff, with config params
Please refer to #2694 and #2670 for motivation and reasoning for
this change.
I've tried to follow best practice in inserting the copyright
headers. In other open source projects, not all files carry
the notice. For example documentation doesn't. I've followed
similar ground rules.
I did not change the php because there is a separate LICENSE
file there by Pixel Federation. We'll first need to notify
them our intent before changing anything there.
As for the presubmit check, it's going to be non-trivial
because of the number of exceptions, like file types,
directories and generated code. So, it will have to be
a separate project.
It seems to be a common practice that the SNAPSHOT version in the master
branch points to the next release version.
I updated the versions by running this command:
$ mvn versions:set -DnewVersion=2.1.0-SNAPSHOT
- Added "dependencyManagement" and moved all deps with their version there. Module POMs now reference dependencies *without* specifying the version.
- Reduced scope of test dependencies.
- Dependencies are now sorted alphabetically. Test dependencies come after regular deps.
- Groups of dependencies (e.g. io.vitess.* is a group) are separated by newlines now.
- Created java/README.md which formulates these changes as guidelines for future pull requests.
- Configured "maven-dependency-plugin" which will be run as part of "make java_test" (more precisely "mvn verify") and fail if dependencies are not correctly specified.
- Removed all "pluginRepositories" sections because they don't seem to be necessary.
- Unified headers of the different files.
- Reformatted all files using the Eclipse XML Editor.
The new name has the advantage that it's shorter.
I've renamed the other artifactId as well such that they all have the prefix "vitess-". Nonetheless, I kept the sub directories without the prefix i.e. "client" instead of "vitess-client".
Fixes broken unit tests
Bumps version of Java client artifacts from 1.0-SNAPSHOT to 1.1.0-SNAPSHOT
Adds null check
Removes redundant fields
Removes duplicate method
Removes redundant unit tests
Fixes broken unit tests
Restores missing test
Adds remaining SSL-related optional parameters to JDBC URL strings
Moves JDBC driver layer closer to passing TLS credentials to the gRPC client layer
Hands off TLS from the Java/JDBC layer to the gRPC client layer
Code review updates
First cut at unit testing of SSL connection from gRPC layer to VTGate
Not setting keyManager on gRPC client when client authentication is unused
Adds TLS to client side of Grpc unit test
Adds netty-tcnative to gRPC client classpath, and couple of bugfixes
Fixes bugs... first successful test of SSL connection from client to vtgateclienttest mock.
Adds unit test coverage for SSL connection with client authentication enabled.
Updates 'grpc-all' and 'netty-tcnative' dependencies to latest versions
Improves null-check and handling
Adds optional argument to 'examples/local' scripts, to allow end-to-end testing of TLS connection to VTGate
Builds optional 'fat JAR' of JDBC driver, for use in standalone situation such as DBeaver, SQuirreL, etc.
Adds JavaDocs, and misc cleanup
Temporarily ignores TLS unit tests, to diagnose issue with Travis CI
Redirects IO from external OpenSSL processes to Travis CI console log
Improves logging
Temporarily disables SSL in TLS unit test
Temporarily disables SSL in TLS unit test
Restores disabled unit tests
Testing Travis CI issues
Travis testing
Adds explicit delays to test race condition theory
Travis testing
Testing Travis
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Restores state prior to Travis CI testing
Adds support to VitessJDBCUrl for parsing optional parameter to enable SSL
Adds remaining SSL-related optional parameters to JDBC URL strings
Moves JDBC driver layer closer to passing TLS credentials to the gRPC client layer
Hands off TLS from the Java/JDBC layer to the gRPC client layer
Code review updates
First cut at unit testing of SSL connection from gRPC layer to VTGate
Not setting keyManager on gRPC client when client authentication is unused
Adds TLS to client side of Grpc unit test
Adds netty-tcnative to gRPC client classpath, and couple of bugfixes
Fixes bugs... first successful test of SSL connection from client to vtgateclienttest mock.
Adds unit test coverage for SSL connection with client authentication enabled.
Updates 'grpc-all' and 'netty-tcnative' dependencies to latest versions
Improves null-check and handling
Adds optional argument to 'examples/local' scripts, to allow end-to-end testing of TLS connection to VTGate
Builds optional 'fat JAR' of JDBC driver, for use in standalone situation such as DBeaver, SQuirreL, etc.
Adds JavaDocs, and misc cleanup
Temporarily ignores TLS unit tests, to diagnose issue with Travis CI
Redirects IO from external OpenSSL processes to Travis CI console log
Improves logging
Temporarily disables SSL in TLS unit test
Temporarily disables SSL in TLS unit test
Restores disabled unit tests
Testing Travis CI issues
Travis testing
Adds explicit delays to test race condition theory
Travis testing
Testing Travis
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Restores state prior to Travis CI testing
Adds support to VitessJDBCUrl for parsing optional parameter to enable SSL
Adds remaining SSL-related optional parameters to JDBC URL strings
Moves JDBC driver layer closer to passing TLS credentials to the gRPC client layer
Hands off TLS from the Java/JDBC layer to the gRPC client layer
Code review updates
First cut at unit testing of SSL connection from gRPC layer to VTGate
Not setting keyManager on gRPC client when client authentication is unused
Adds TLS to client side of Grpc unit test
Adds netty-tcnative to gRPC client classpath, and couple of bugfixes
Fixes bugs... first successful test of SSL connection from client to vtgateclienttest mock.
Adds unit test coverage for SSL connection with client authentication enabled.
Updates 'grpc-all' and 'netty-tcnative' dependencies to latest versions
Improves null-check and handling
Adds optional argument to 'examples/local' scripts, to allow end-to-end testing of TLS connection to VTGate
Builds optional 'fat JAR' of JDBC driver, for use in standalone situation such as DBeaver, SQuirreL, etc.
Adds JavaDocs, and misc cleanup
Temporarily ignores TLS unit tests, to diagnose issue with Travis CI
Redirects IO from external OpenSSL processes to Travis CI console log
Improves logging
Temporarily disables SSL in TLS unit test
Temporarily disables SSL in TLS unit test
Restores disabled unit tests
Testing Travis CI issues
Travis testing
Adds explicit delays to test race condition theory
Travis testing
Testing Travis
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Adds more logging
Restores state prior to Travis CI testing
Trying unit tests with larger SSL key size
Increased logging to identify java.security settings
Increased logging to identify java.security settings
Increased logging to identify java.security settings
Increased logging to identify java.security settings
Increase CA cert size to 2048 bits
Increase CA cert size to 2048 bits
Disables basic TLS tests
Re-enables but disables
Somewhat decouples JDBC TLS unit tests
Ensures that vtgateclienttest mocks terminate after each test suite
Adds delay in unit tests to make sure VTGate has time to start and stop
Adds logging of vtgateclienttest output
Restores as a subclass of
bugfix
Reverts temporary changes
Trying unit tests with larger SSL key size
Increased logging to identify java.security settings
Increased logging to identify java.security settings
Increased logging to identify java.security settings
Increased logging to identify java.security settings
Increase CA cert size to 2048 bits
Increase CA cert size to 2048 bits
Disables basic TLS tests
Re-enables but disables
Ensures that vtgateclienttest mocks terminate after each test suite
Adds delay in unit tests to make sure VTGate has time to start and stop
Restores as a subclass of
bugfix
Reverts temporary changes
Cleanup after git squash
Experimenting with removing sleeps from
Experimenting with removing sleeps from and
To get the old synchronous behavior, append `.checkedGet()` to a call
that returns SQLFuture. For example:
```
Cursor cursor = vtgateConn.execute(...).checkedGet();
```
1. Move maven-compiler-plugin from sub packages to java/pom.xml.
2. Move row related methods from Cursor class to a new Row class, this
simplifies operations in Hadoop where it needs a wriable row object.
3. Refactor both SimpleCursor and StreamCursor to follow the Cursor change.
4. Add Hadoop package which depends on java/client and java/grpc.
Following the convention we've been using in Go:
The gRPC implementation of vtgateconn is grpcvtgateconn.
This is the gRPC implementation of client, so grpc-client.
1. define rules in the Maven build files to compile the data protos at build time.
2. define a new vtgate service interface that uses the proto3 data structures and
defines an abstract service.
1. move common dependencies into parent pom.
2. upgrade com.google.guava to 18.0.
3. rename java build target to java_client_test.
4. fix makefile so java client test will run tests from each sub package.
Allows creation of driver that communicates with a vtocc instance via Bson using a BlockingChannel. Integration tests extract queries from queryservice_test.py and run them using the driver.