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

[Issue #4756][broker] Process requests asynchronously on some REST APIs (1) #4765

Merged
merged 1 commit into from
Jul 20, 2019

Conversation

massakam
Copy link
Contributor

@massakam massakam commented Jul 19, 2019

Master Issue: #4756

Motivation

Some of the REST APIs provided by broker send HTTP request to oneself internally using a PulsarAdmin instance when they receive requests from clients. This may cause a deadlock, as the pulsar-web thread is blocked until a response from oneself is returned. As with #4487, these APIs should be introduced async rest handlers.

Modifications

In this pull-request, added async rest handlers to the following tow APIs for non-persistent topics.

GET /admin/non-persistent/{tenant}/{cluster}/{namespace}
GET /admin/v2/non-persistent/{tenant}/{namespace}

I intend to fix other APIs in subsequent pull-requests.

Verifying this change

  • Make sure that the change passes the CI checks.

@massakam massakam self-assigned this Jul 19, 2019
@massakam massakam added the type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages label Jul 19, 2019
Copy link
Contributor

@merlimat merlimat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@merlimat merlimat added this to the 2.5.0 milestone Jul 19, 2019
@merlimat merlimat merged commit 849b6c5 into apache:master Jul 20, 2019
@massakam massakam deleted the async-rest-api-1 branch July 20, 2019 09:30
sijie pushed a commit that referenced this pull request Jul 23, 2019
Master Issue: #4756

### Motivation

This is a continuation of #4765.

### Modifications

Added async rest handlers to the following APIs:
```
DELETE /admin/namespaces/{tenant}/{cluster}/{namespace}
PUT    /admin/namespaces/{tenant}/{cluster}/{namespace}/unload
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/clearBacklog
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/clearBacklog/{subscription}
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/unsubscribe/{subscription}

DELETE /admin/v2/namespaces/{tenant}/{namespace}
PUT    /admin/v2/namespaces/{tenant}/{namespace}/unload
POST   /admin/v2/namespaces/{tenant}/{namespace}/clearBacklog
POST   /admin/v2/namespaces/{tenant}/{namespace}/clearBacklog/{subscription}
POST   /admin/v2/namespaces/{tenant}/{namespace}/unsubscribe/{subscription}
```
easyfan pushed a commit to easyfan/pulsar that referenced this pull request Jul 26, 2019
easyfan pushed a commit to easyfan/pulsar that referenced this pull request Jul 26, 2019
Master Issue: apache#4756

### Motivation

This is a continuation of apache#4765.

### Modifications

Added async rest handlers to the following APIs:
```
DELETE /admin/namespaces/{tenant}/{cluster}/{namespace}
PUT    /admin/namespaces/{tenant}/{cluster}/{namespace}/unload
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/clearBacklog
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/clearBacklog/{subscription}
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/unsubscribe/{subscription}

DELETE /admin/v2/namespaces/{tenant}/{namespace}
PUT    /admin/v2/namespaces/{tenant}/{namespace}/unload
POST   /admin/v2/namespaces/{tenant}/{namespace}/clearBacklog
POST   /admin/v2/namespaces/{tenant}/{namespace}/clearBacklog/{subscription}
POST   /admin/v2/namespaces/{tenant}/{namespace}/unsubscribe/{subscription}
```
wolfstudy pushed a commit that referenced this pull request Nov 20, 2019
wolfstudy pushed a commit that referenced this pull request Nov 20, 2019
Master Issue: #4756

### Motivation

This is a continuation of #4765.

### Modifications

Added async rest handlers to the following APIs:
```
DELETE /admin/namespaces/{tenant}/{cluster}/{namespace}
PUT    /admin/namespaces/{tenant}/{cluster}/{namespace}/unload
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/clearBacklog
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/clearBacklog/{subscription}
POST   /admin/namespaces/{tenant}/{cluster}/{namespace}/unsubscribe/{subscription}

DELETE /admin/v2/namespaces/{tenant}/{namespace}
PUT    /admin/v2/namespaces/{tenant}/{namespace}/unload
POST   /admin/v2/namespaces/{tenant}/{namespace}/clearBacklog
POST   /admin/v2/namespaces/{tenant}/{namespace}/clearBacklog/{subscription}
POST   /admin/v2/namespaces/{tenant}/{namespace}/unsubscribe/{subscription}
```

(cherry picked from commit 2cc34af)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/broker type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants