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>
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".
I've updated the code with a simple search and replace.
I also had to run "make proto" and regenerate the Python protobuf files because they include the Java class name in the generated code.
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
* Add ConnectionProperties as a more robust holder for future configurations. Add support for ExecuteOptions.IncludedFields
* fixes from review: some formatting, some comments, and test fix
* fix names
This is based on an old test that got left behind in the conversion to
the new proto3-based Java client. I've updated it to use VSchema, which
removes the need for the test to know about keyspace IDs.
* Get rid of transitive dependency on commons-collections 3.2.1 by
updating hadoop version.
* Move hadoop dependency from `client` project to `hadoop` project.
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.