mirror of https://gitee.com/bigwinds/arangodb
Bug fix 3.3/make rest handlers indirect (#5322)
This commit is contained in:
parent
02675b96a9
commit
ab28867deb
|
@ -1,6 +1,9 @@
|
|||
v3.3.9 (xxxx-xx-xx)
|
||||
-------------------
|
||||
|
||||
* make /_api/index, /_api/database and /_api/user REST handlers use the scheduler's internal
|
||||
queue, so they do not run in an I/O handling thread
|
||||
|
||||
* fixed issue #4919: C++ implementation of LIKE function now matches the old and correct
|
||||
behaviour of the javascript implementation.
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ class RestDatabaseHandler : public arangodb::RestVocbaseBaseHandler {
|
|||
|
||||
public:
|
||||
char const* name() const override final { return "RestDatabaseHandler"; }
|
||||
bool isDirect() const override { return true; }
|
||||
bool isDirect() const override { return false; }
|
||||
RestStatus execute() override;
|
||||
|
||||
private:
|
||||
|
|
|
@ -36,7 +36,7 @@ class RestIndexHandler : public arangodb::RestVocbaseBaseHandler {
|
|||
|
||||
public:
|
||||
char const* name() const override final { return "RestIndexHandler"; }
|
||||
bool isDirect() const override { return true; }
|
||||
bool isDirect() const override { return false; }
|
||||
RestStatus execute() override;
|
||||
|
||||
private:
|
||||
|
|
|
@ -36,7 +36,7 @@ class RestUsersHandler : public arangodb::RestBaseHandler {
|
|||
|
||||
public:
|
||||
virtual char const* name() const override { return "RestUsersHandler"; }
|
||||
bool isDirect() const override { return true; }
|
||||
bool isDirect() const override { return false; }
|
||||
RestStatus execute() override;
|
||||
|
||||
private:
|
||||
|
|
|
@ -69,6 +69,7 @@ class JobGuard : public SameThreadAsserter {
|
|||
if (_isWorkingFlag) {
|
||||
_isWorkingFlag = false;
|
||||
|
||||
TRI_ASSERT(_isWorking > 0);
|
||||
if (0 == --_isWorking) {
|
||||
// if this is the last JobGuard we inform the
|
||||
// scheduler that the thread is back to idle
|
||||
|
@ -79,6 +80,7 @@ class JobGuard : public SameThreadAsserter {
|
|||
if (_isBlockedFlag) {
|
||||
_isBlockedFlag = false;
|
||||
|
||||
TRI_ASSERT(_isBlocked > 0);
|
||||
if (0 == --_isBlocked) {
|
||||
// if this is the last JobGuard we inform the
|
||||
// scheduler that the thread is now unblocked
|
||||
|
|
Loading…
Reference in New Issue