bitshares / bitshares/bitshares-ui

Full history will fail if total OPs is beyond 10,000

Open
#2,997 12 comments 0 reactions 0 assignees View on GitHub
[4c] High Priority [6] Core [6] Elastic Search
Dominant language
JavaScript
Stars
520
Forks
575
Avg merge
12h 7m
Merged PRs (30d)
5

Description

**Describe the bug**
When trying to download account history via wrapper.elasticsearch.bitshares.ws on desktop 3.1.190618.1, wallet.bitshares.org (chrome and firefox), and develop.bitshares.org(chrome and firefox) ... they all fail with the message "Failed to download the account history, please try again"

here is the console error: (ignore the strikethroughs)
```
account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1 GET https://wrapper.elasticsearch.bitshares.ws/get_account_history?account_id=1.2.1310&from_=9900&size=150&sort_by=block_data.block_time&type=data&agg_field=operation_type 500 (INTERNAL SERVER ERROR)
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
value @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
w @ vendor.0c03c0a87759ca1ced2a.js:132
(anonymous) @ vendor.0c03c0a87759ca1ced2a.js:132
e. @ vendor.0c03c0a87759ca1ced2a.js:132
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
Promise.then (async)
n @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1
(anonymous) @ account~dashboard-accounts~deposit-withdraw~transfer.ec9c3b3ab746268987e3.js:1

From the same browser checking "is_alive"
https://wrapper.elasticsearch.bitshares.ws/is_alive

deltatime | 2.882458
-- | --
head_block_time | "2019-07-30T16:15:27.000Z"
head_block_timestamp | 1564503327000
server_time | "Tue, 30 Jul 2019 16:15:29 GMT"
status | "ok"

```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the account-history request to wrapper.elasticsearch.bitshares.ws/get_account_history with from_=9900 and size=150, using the account and browser details in the report. Trace the account-history download flow in the JavaScript application and determine whether the request or service fails beyond 10,000 operations; done means full history downloads without the reported error.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch, javascript
Domain
api, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.