IBM Watson™ Ideas

Welcome to the IBM Watson™ Ideas Portal

We welcome and appreciate your feedback on IBM Watson™ Products to help make them even better than they are today!

If you are looking for troubleshooting help or wondering how to use our products and services, please check the IBM Watson™ documentation. Please do not use the Ideas Portal for reporting bugs - we ask that you report bugs or issues with the product by contacting IBM support.

Before you submit an idea, please perform a search first as a similar idea may have already been reported in the portal.

If a related idea is not yet listed, please create a new idea and include with it a description which includes expected behavior as well as why having this feature would improve the service and how it would address your use case.

Creating Expansions while operation in progress returns 500 instead of 409

Follow up from #1474 which was closed without a resolution.

Currently, if the user initiates a request to POST /v1/environments/${environment_id}/collections/${collection_id}/expansions while a process (such as a snapshot, etc) is running on their collection, they receive a 500 Internal Server Error.

This can be reproduced by creating an expansion list, and then updating it in rapid succession. The creation request will most likely succeed, while the following update request fails with the 500 error.

In the issue that I linked above, @eoehlsch noted that there isn't much that can be done from the service perspective to prevent this issue.

After further discussion with @mkistler @asantiago and @jsstylos , while we may not be able to prevent this issue from happening, we can return a more appropriate 409 Conflict status code.

Description of the 409 status code

The request could not be completed due to a conflict with the current state of the target resource. This code is used in situations where the user might be able to resolve the conflict and resubmit the request.

Returning this status code can better inform the user that their previous action may be the cause of the resource they are attempting being in use.

Ideal solution
  • The POST /v1/environments/${environment_id}/collections/${collection_id}/expansions would return a 409 status code if the resource was in use due to a previous operation

  • We would provide a GET request to get the status of the expansion list (similar to what is provided for stopwords and tokenization dictionaries) so that the user has the ability to poll for a ready status of their resource after a CRUD operation

  • Guest
  • Mar 10 2020
  • Future Consideration
Why is it useful?
Who would benefit from this IDEA? As an API developer I don't want repeatable 500 errors in my API
How should it work?
Idea Priority
Priority Justification
Customer Name
Submitting Organization
Submitter Tags