VictoriaLogs icon indicating copy to clipboard operation
VictoriaLogs copied to clipboard

update vmcluster to 1.65.0

Open mxlxm opened this issue 2 years ago • 11 comments

fixed issues:

  • memory leak in vmselect
  • broken labels api
  • corrupted logs within vmstorage
  • wrong direction in vmselect
  • dead connections in connPool
  • duplicated fetchDataOption resulted empty func result
  • unexpected limit result

mxlxm avatar Sep 07 '21 14:09 mxlxm

https://github.com/faceair/VictoriaLogs/pull/7/commits/c287aab9681a7ad6800842510439d96beb6b4076 can revert with next vm release, since upstream has fixed, see https://github.com/VictoriaMetrics/VictoriaMetrics/pull/1597

mxlxm avatar Sep 07 '21 19:09 mxlxm

Upgrading the dependency version is probably only the first step, we also need to follow up the storage module from the fork to the latest version, which will be more troublesome. I can merge this PR first.

faceair avatar Sep 08 '21 14:09 faceair

I think we shouldn't change value type in vmstorage, how about extend vmstorage with a new field data to store log data, each log's value defaults to 1, so we could benefit with most MetricsQL funcs. Besides, we could support exemplars with this extended data field.

WDYT?

mxlxm avatar Sep 08 '21 14:09 mxlxm

Yes, I think it's a good idea.

faceair avatar Sep 08 '21 15:09 faceair

Great, maybe we can just archive this project, and restart the extend work with original VM to get ride of the follow up things. Further changes should just depends on the extended data field, so we can easily rebese from upstream

mxlxm avatar Sep 08 '21 15:09 mxlxm

It feels good to just open a new branch to do this, and when we're done change the current master branch to something else.

So it looks like we don't need to merge this pr for now, so let's just develop it on the new branch.

faceair avatar Sep 08 '21 15:09 faceair

Also I think git rebase might not work very well. Because we delete all the modules except for the storage module. We might need a script to help us diff and patch the latest storage code periodically.

faceair avatar Sep 08 '21 15:09 faceair

IMO, we can just keep vm in sync with upstream, if we want this gets merged in the future.

With extended data field, we can do more than just metrics, logs, exemplars, traces, maybe even more, profiling system like pyroscope.

mxlxm avatar Sep 08 '21 16:09 mxlxm

Different data has different storage and query requirements, and there are many differences in storage design. loki is a special case, its design deliberately leaned towards metrics, it is not quite the same as traditional logging systems. A single store can hold all the observations, but this is certainly not the optimal choice.

But as far as supporting only loki is concerned, we can really try.

faceair avatar Sep 08 '21 16:09 faceair

Or just consider implementing https://github.com/VictoriaMetrics/VictoriaMetrics/issues/819 , and prepare a more complete proposal to submit to VM, and we can experiment with this repository first.

faceair avatar Sep 08 '21 16:09 faceair

OK, I need some time to familiar with current storage module, and today I have to deal with another bug in VL, unexpected result with query like count_over_time(({k="v"}|~"sth")[1m]).

mxlxm avatar Sep 09 '21 02:09 mxlxm