Skip to content

Commit

Permalink
Revert "Remove x-reduct-last header from batch endpoint (#297)"
Browse files Browse the repository at this point in the history
This reverts commit 746b9bc.
  • Loading branch information
atimin committed Jun 18, 2023
1 parent 746b9bc commit eabcd43
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
4 changes: 0 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `HEAD /api/v1/b/:bucket_name/:entry_name` and `HEAD /api/v1/b/:bucket_name/:entry_name/batch`
endpoints, [PR-296]https://github.com/reductstore/reductstore/pull/296)

### Removed

- `x-reduct-last` from `GET /api/v1/:bucket/:entry/batch`, [PR-297](https://github.com/reductstore/reductstore/pull/297)

## [1.4.0] - 2023-06-09

### Fixed
Expand Down
4 changes: 4 additions & 0 deletions api_tests/entry_api_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ def test_read_batched_records(base_url, session, bucket, method, expected_conten
assert resp.headers['content-length'] == '20'
assert resp.headers['x-reduct-time-1000'] == 'content-length=10,content-type=application/octet-stream'
assert resp.headers['x-reduct-time-1100'] == 'content-length=10,content-type=text/plain,label-x="[a,b]"'
assert resp.headers['x-reduct-last'] == 'true'


def test_read_batched_max_header_size(base_url, session, bucket):
Expand All @@ -437,10 +438,12 @@ def test_read_batched_max_header_size(base_url, session, bucket):
resp = session.get(f'{base_url}/b/{bucket}/entry/batch?q={query_id}')
assert resp.status_code == 200
assert sum(header.startswith('x-reduct-time-') for header in resp.headers) == 84
assert resp.headers['x-reduct-last'] == 'false'

resp = session.get(f'{base_url}/b/{bucket}/entry/batch?q={query_id}')
assert resp.status_code == 200
assert sum(header.startswith('x-reduct-time-') for header in resp.headers) == 16
assert resp.headers['x-reduct-last'] == 'true'

resp = session.get(f'{base_url}/b/{bucket}/entry/batch?q={query_id}')
assert resp.status_code == 404
Expand Down Expand Up @@ -469,6 +472,7 @@ def test_read_batched_continuous_query(base_url, session, bucket):

resp = session.get(f'{base_url}/b/{bucket}/entry/batch?q={query_id}')
assert resp.status_code == 200
assert resp.headers['x-reduct-last'] == 'true'

resp = session.get(f'{base_url}/b/{bucket}/entry/batch?q={query_id}')
assert resp.status_code == 204
Expand Down
4 changes: 4 additions & 0 deletions src/http_frontend/entry_api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ fn fetch_and_response_batched_records(
let mut body_size = 0u64;
let mut headers = HeaderMap::new();
let mut readers = Vec::new();
let mut last = false;
loop {
let _reader = match bucket.next(entry_name, query_id) {
Ok((reader, _)) => {
Expand Down Expand Up @@ -174,6 +175,7 @@ fn fetch_and_response_batched_records(
return Err(err);
} else {
if err.status() == HttpStatus::NoContent as i32 {
last = true;
break;
} else {
return Err(err);
Expand All @@ -185,6 +187,7 @@ fn fetch_and_response_batched_records(

headers.insert("content-length", body_size.to_string().parse().unwrap());
headers.insert("content-type", "application/octet-stream".parse().unwrap());
headers.insert("x-reduct-last", last.to_string().parse().unwrap());

struct ReadersWrapper {
readers: Vec<Arc<RwLock<RecordReader>>>,
Expand Down Expand Up @@ -822,6 +825,7 @@ mod tests {
);
assert_eq!(headers["content-type"], "application/octet-stream");
assert_eq!(headers["content-length"], "6");
assert_eq!(headers["x-reduct-last"], "true");

assert_eq!(
response.data().await.unwrap_or(Ok(Bytes::new())).unwrap(),
Expand Down

0 comments on commit eabcd43

Please sign in to comment.