Comments (12)
Additional info:
If I don't tag v.device_name
and v.mount_point
2 string keys, the @influxdb.write_points()
call will work, but the data written to influxdb are wrong:
> SELECT "v.device_name", "v.mount_point" FROM "mydb"."system.filesystem"
time v.device_name v.mount_point
---- ---- ----
.... D:",v.mount_point="D:\ D:
from fluent-plugin-influxdb.
I guess that it is caused by influxdb-ruby, but I think that asking here is a good start.
Yes. fluent-plugin-influxdb doesn't touch event content.
from fluent-plugin-influxdb.
The bug has been fixed in https://rubygems.org/gems/influxdb/versions/0.4.2
It would be great that we upgrade the influxdb-ruby to >= 0.4, but will lose Ruby < 2.2 compatibility.
Any ideas?
from fluent-plugin-influxdb.
If Ruby 1.9+ compatibility is absolute necessary, I could be persuaded to backport this bugfix into another 0.3.x release. However, Ruby 2.1 is EOL since 2017/04, so I need some strong arguments (or a PR against the influxdb-ruby/stable-03 tree π)
from fluent-plugin-influxdb.
I think Ruby 1.9/2.0 support is no longer needed.
But ruby 2.1 is still widely used including td-agent 2 so backport above fix to 0.3 release is very helpful for me.
If 0.4 release is compatible with 0.3, we can relax version constraint of this plugin.
If not, we need changes to support 0.3 and 0.4 together.
from fluent-plugin-influxdb.
But ruby 2.1 is still widely used
Is it? My impression is that the 2.0β2.1β2.2β2.3 migration process is really painless and people didn't stay long on the previous version. Are there distribution apart from Debian Jessie, which still ship Ruby 2.1?
If 0.4 release is compatible with 0.3,
Mostly. 0.4 removed Ruby compat for MRI < 2.2, which allowed some major code cleanups. Since then only a few new features have landed in the gem: I consider it feature complete, but sometimes people find new use cases :-).
The API hasn't changed between 0.3 and 0.4 in a backward compatible manner (if it has, it is a bug), so depending on ~> 0.3
should suffice. v0.4 has set required_ruby_version
in its .gemspec
. I don't know whether fluent-gem install ...
knows how to interpret that setting, though...
I think, cobbling together a bugfix release for 0.3 should be too hard (tomorrow, anyway).
from fluent-plugin-influxdb.
The API hasn't changed between 0.3 and 0.4 in a backward compatible manner (if it has, it is a bug),
Okay. I will check it.
I don't know whether fluent-gem install ... knows how to interpret that setting, though...
To avoid this problem, we need to install v0.3 seriese first like this: https://github.com/fangli/fluent-plugin-influxdb#installation
from fluent-plugin-influxdb.
Sorry, it was late for me yesterday:
The API hasn't changed between 0.3 and 0.4 in a backward compatible manner
should read
The API hasn't changed between 0.3 and 0.4 in a backward incompatible manner
from fluent-plugin-influxdb.
I have just released v0.3.17 of the InfluxDB gem, backporting the bugfixes applied to the v0.4 tree.
we need to install v0.3 seriese first like this: [...]
I believe, I've miscommunicated my intent: When I said "so depending on ~> 0.3
should suffice", I was referring to your .gemspec
. If fluent-gem install fluent-plugin-influxdb -v 1.0.0.rc2
does the right thing, it will pick up InfluxDB v0.3 on MRI <= 2.1 and v0.4 on MRI > 2.1.
from fluent-plugin-influxdb.
I have just released v0.3.17 of the InfluxDB gem, backporting the bugfixes applied to the v0.4 tree
Thanks for great work!
it will pick up InfluxDB v0.3 on MRI <= 2.1 and v0.4 on MRI > 2.1.
No because rubygems doesn't have such metadata in one gemspec file. gemspec content is corresponding to each release, not entire project. fluent-gem install fluent-plugin-influxdb -v 1.0.0.rc2
will try to install latest influxdb gem and it causes same error on MRI <= 2.1.
from fluent-plugin-influxdb.
@dmke Thanks for the 0.3 backport! Just repack the docker image and everything works expected!
@repeatedly I think it's ok to close the issue since we don't have to change anything. π
Again, thanks for your great work!
Confirmed that the query result from influxdb HTTP API is correct now.
{
"results": [
{
"statement_id": 0,
"series": [
{
"name": "system.filesystem",
"columns": [
"time",
"v.device_name",
"v.mount_point"
],
"values": [
[
1501729298688,
"D:\\",
"D:\\"
]
]
}
]
}
]
}
from fluent-plugin-influxdb.
fluend-gem install ...
will try to install latest influxdb gem and it causes same error on MRI <= 2.1
Well, in that case, you should stay on 0.3.x. Except for some more cleanup and refactoring, I don't have anything special planned for the 0.x series. For the time being, 0.3 and 0.4 should stay mostly compatible, with some minor new interfaces in 0.4.
However, when influxdata/influxdb#8477 lands, major refactoring in the client code will likely necessitate a 1.0 release of the InfluxDB gem (and, at this point, will drop MRI 2.1 support for good). (This will take some time, though.)
Confirmed that the query result from influxdb HTTP API is correct now.
π Yay! π
from fluent-plugin-influxdb.
Related Issues (20)
- auto_tag functionality
- Number/float field are pushed into influxdb as string HOT 1
- Adding support for InfluxDB 2? HOT 2
- Dynamic measurement value
- How do I inject custom key/values
- Errors transporting Collectd metrics into Influxdb via fluentbit
- retry parameter not working at all
- plugin makes fluentd fail having fluentd 1.15.x and ruby 3 HOT 2
- Unauthorized Error
- Setting 'tag_keys' never happend for strings?
- Set timestamp with js new Date().getTime() ms will meet timestamp format error HOT 3
- Using nanosecond precision instead of sequence_tag HOT 1
- Multiple bugs report HOT 9
- Feature Request: Option to write Boolean as Integer
- accept integer for float field HOT 5
- Connecting to database : no timeout ?
- Allow empty strings for fields
- memory leak if influxdb goes down HOT 3
- [ Feature Request ] wildcards support for tag_keys
- how to prevent string auto transformed to numberοΌ
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluent-plugin-influxdb.