Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support legacy Elastic _bulk API clients which use Content-Type: application/json #606

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
1 change: 0 additions & 1 deletion lib/db/clickhouse.js
Original file line number Diff line number Diff line change
@@ -472,7 +472,6 @@ const queryTempoScanV2 = async function (query) {
}
const limit = query.limit ? `LIMIT ${parseInt(query.limit)}` : ''
const sql = `${select} ${from} WHERE ${where.join(' AND ')} ORDER BY timestamp_ns DESC ${limit} FORMAT JSON`
console.log(sql)
const resp = await rawRequest(sql, null, process.env.CLICKHOUSE_DB || 'cloki')
return resp.data.data ? resp.data.data : JSON.parse(resp.data).data
}
12 changes: 1 addition & 11 deletions lib/handlers/elastic_bulk.js
Original file line number Diff line number Diff line change
@@ -26,17 +26,7 @@ async function handler (req, res) {

const docTarget = req.params.target || false

let streams
if (
req.headers['content-type'] &&
req.headers['content-type'].indexOf('application/x-ndjson') > -1
) {
// ndjson body
streams = req.body.split(/\n/)
} else {
// assume ndjson raw body
streams = req.body.split(/\n/)
}
const streams = req.body.split(/\n/)
let lastTags = false
const promises = []
if (streams) {
1 change: 0 additions & 1 deletion lib/handlers/query.js
Original file line number Diff line number Diff line change
@@ -8,7 +8,6 @@ async function handler (req, res) {
if (!req.query.query) {
return res.send(resp)
}
console.log(req.query.query)
const m = req.query.query.match(/^vector *\( *([0-9]+) *\) *\+ *vector *\( *([0-9]+) *\)/)
if (m) {
return res.code(200).send(JSON.stringify({
1 change: 0 additions & 1 deletion parser/transpiler.js
Original file line number Diff line number Diff line change
@@ -239,7 +239,6 @@ module.exports.transpile = (request) => {
setQueryParam(query, sharedParamNames.from, start + '000000')
setQueryParam(query, sharedParamNames.to, end + '000000')
setQueryParam(query, 'isMatrix', query.ctx.matrix)
console.log(query.toString())
return {
query: request.rawQuery ? query : query.toString(),
matrix: !!query.ctx.matrix,
2 changes: 1 addition & 1 deletion pyroscope/shared.js
Original file line number Diff line number Diff line change
@@ -66,7 +66,7 @@ const wrapResponse = (hndl) => {
const strRes = JSON.stringify(normalizeProtoResponse(_res.toObject()))
return res.code(200).send(strRes)
}
return res.code(200).send(Buffer.from(_res.serializeBinary()))
return res.code(200).type('application/proto').send(Buffer.from(_res.serializeBinary()))
}
}

2 changes: 0 additions & 2 deletions qryn_node.js
Original file line number Diff line number Diff line change
@@ -243,11 +243,9 @@ let fastify = require('fastify')({
})
const handlerElasticBulk = require('./lib/handlers/elastic_bulk.js').bind(this)
writerMode && fastify.post('/_bulk', handlerElasticBulk, {
'application/json': jsonParser,
'*': rawStringParser
})
writerMode && fastify.post('/:target/_bulk', handlerElasticBulk, {
'application/json': jsonParser,
'*': rawStringParser
})