apache / incubator-horaedb-client-java Goto Github PK
View Code? Open in Web Editor NEWJava implementation of HoraeDB client.
Home Page: https://apache.github.io/incubator-horaedb-docs
License: Apache License 2.0
Java implementation of HoraeDB client.
Home Page: https://apache.github.io/incubator-horaedb-docs
License: Apache License 2.0
Describe this problem
Steps to reproduce
curl --location --request POST 'http://127.0.0.1:5440/sql' --data-raw '
CREATE TABLE `demo` (
`name` string TAG,
`value` double NOT NULL,
`t` timestamp NOT NULL,
`t2` timestamp NOT NULL,
timestamp KEY (t))
ENGINE=Analytic
with
(enable_ttl="false")
curl --location --request POST 'http://127.0.0.1:5440/sql' --data-raw '
INSERT INTO demo (t, t2, name, value)
VALUES (1651737067000, 1651737067009, "ceresdb", 100)
'
curl --location --request POST 'http://127.0.0.1:5440/sql' --data-raw '
SELECT t, avg(value) FROM `demo` group by t
'
response:
{"rows":[{"t":1651737067000,"AVG(demo.value)":100.0}]}
CeresDBClient client = getClient();
String query = "SELECT t, avg(value) FROM `demo` group by t";
SqlQueryRequest request = new SqlQueryRequest(query);
CompletableFuture<Result<SqlQueryOk, Err>> future = client.sqlQuery(request);
Result<SqlQueryOk, Err> result = future.get();
System.out.println(result);
The response's rowCount is 0.
Expected behavior
Additional Information
Description
Add CI with Github Actions
Proposal
Let me send a PR for this
Additional context
Details: package name of the java code still uses "com.ceresdb", but the project official site is "io.ceresdb".
Describe this problem
In parseArrowBatch, it will return an empty list when there is io exception, which is totally wrong.
Steps to reproduce
No need.
Expected behavior
It should return the exception to upper layer.
Additional Information
IDE will generate local files in the project dir, should be ignored
Describe this problem
ceresdb server is running as single mode, image: ceresdb/ceresdb-server: nightly-20230223-ce9fa87
Report NPE for table error while creating table
Steps to reproduce
Expected behavior
Additional Information
Description
When the routing information of the ceresdb partition table is empty, the java sdk panics.
Proposal
Avoid panic when endpoint in route is null.
https://github.com/CeresDB/ceresdb-client-java/blob/9f9da9564f853c4d0baf413b5bff5d0ff00778aa/ceresdb-protocol/src/main/java/io/ceresdb/RouterClient.java#L412
Additional context
Description
The proto files and generated code should be managed in a single repo, rather than scatter them everywhere. It will be more maintainable that other projects depend on one single proto repo.
Proposal
Since ceresdb-client-java
is a pure Java written project, we can add ceresdb-proto-internal
as a dependency to the pom. And then remove the protos and related codes maintained inside this project.
Additional context
no
Describe this problem
When there are lambda expressions in the code files, code formatter does not work.
Steps to reproduce
use maven -X to see the debug log
Expected behavior
All java codes, except the generated files should be formatted.
Additional Information
Describe this problem
Create table
and Drop table
need to use routing.
But the current logic is using the management addr to create table.
Steps to reproduce
Expected behavior
Additional Information
Describe this problem
Using the image of ceresdb:v1.0.0 and the sdk of version 1.0.1, when the query data contains Chinese characters, some servers have garbled characters
Steps to reproduce
By setting JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=US-ASCII"
Expected behavior
Chinese characters are not garbled
Additional Information
Describe this problem
It occurs Table not found
when aliasing a table name in sql
Steps to reproduce
Run this sql with sdk
select * from `SPM_2197803522_INFLUENCE_DEFAULT` t1
WHERE
t1.`period` between '2023-03-22 11:09:00' and '2023-03-22 11:09:59'
limit 10
Expected behavior
No error happened
Additional Information
Description
CeresDB grpc service has already supported CreateTable
and DropTable
.
Proposal
Remove the http service setting, CreateTable
and DropTable
uses grpc service.
Additional context
Description
Current client APIs are stable and have passed many tests in different scenarios. It's time to make a first formal release.
Proposal
Release 0.1.0
Additional context
No.
Description
I found table routeCache
will not refresh when routeCache
size is too small.
if (this.routeCache.size() < this.opts.getMaxCachedSize() * CLEAN_CACHE_THRESHOLD) {
LOG.info("Now that the number of cached entries is {}.", this.routeCache.size());
return times;
}
The problem is:
Request will be routed to wrong server after table is recreated.
Proposal
Support refresh table routing info in Client periodly
Additional context
Describe this problem
Memory leak for sdk 1.0.0
Steps to reproduce
Expected behavior
Additional Information
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.