[APIMAN] Failed to retire apis after docker restart
by Shubham Navale
So, I am using apiman 1.5.1 which is using MYSQL 8 as a database, along
with external keycloak with client status public. The whole thing is
running in docker. So, I have configured the gateway in apiman. And
registered some apis. Now when I restart my docker of apiman, the gateway
resets itself to its old setting. So, I reconfigured the gateway with my
settings. But now when I am trying to retire my registered apis, it's
throwing me some error.
Error:- https://gist.github.com/ElavanResu/985ff4349ae81888581d320eb17e1f88
5 years, 1 month
Elasticsearch parse exception when displaying metrics
by Stephen Henrie
I have a production installation of Apiman 1.3.1 running with the 1.7
version of elastic search that has been up for a few months in an
openshift. Only recently, the API metrics are no longer displaying and I
am getting the error below in the elasticsearch log. The API requests still
seem to be processed by Apiman, but clearly the metrics are not being
collected, or if they are, the query is failing when trying to display
them.
I realize that this is not an elastic search support forum, but I was
hoping tat someone would know what is involved to fix the metrics for
Apiman. I have tried restarting the elasticsearch service, but that has not
fixed the issue. Could this error have happen if the volume was
corrupted? If I were to clear the storage volume and restart the elastic
search node, what would have to happen on Apiman? Would all of the APIs
have to be republished? Is this a common thing that happens with Apiman and
elastic search?
Thanks in advance
Stephen Henrie
*[2018-12-28 02:59:54,387][DEBUG][action.search.type ] [Corruptor]
[apiman_metrics][3], node[r24FvIHkQN69_8nmw31Yqg], [P], s[STARTED]: Failed
to execute [org.elasticsearch.action.search.SearchRequest@3049c571]
lastShard [true] *
*org.elasticsearch.search.SearchParseException: [apiman_metrics][3]:
from[-1],size[-1]: Parse Failure [Failed to parse source [{ "query": {
"bool": { "filter": [{ "term": { "apiOrgId": "chassi" } }, { "term": {
"apiId": "tenant" } }, { "term": { "apiVersion": "1" } }, { "range": {
"requestStart": { "gte": "2018-12-20T07:00:00Z", "lte":
"2018-12-28T02:59:54Z" } } } ] } }, "size": 0, "aggs": { "usage_by_plan": {
"terms": { "field": "planId" } } }}]] *
* at
org.elasticsearch.search.SearchService.parseSource(SearchService.java:747) *
* at
org.elasticsearch.search.SearchService.createContext(SearchService.java:572)
*
* at
org.elasticsearch.search.SearchService.createAndPutContext(SearchService.java:544)
*
* at
org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:306)
*
* at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:231)
*
* at
org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:228)
*
* at
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:559)
*
* at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
*
* at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
*
* at java.lang.Thread.run(Thread.java:745) *
*Caused by: org.elasticsearch.index.query.QueryParsingException:
[apiman_metrics] bool query does not support [filter] *
* at
org.elasticsearch.index.query.BoolQueryParser.parse(BoolQueryParser.java:113)
*
* at
org.elasticsearch.index.query.QueryParseContext.parseInnerQuery(QueryParseContext.java:307)
*
* at
org.elasticsearch.index.query.IndexQueryParserService.innerParse(IndexQueryParserService.java:382)
*
* at
org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:281)
*
* at
org.elasticsearch.index.query.IndexQueryParserService.parse(IndexQueryParserService.java:276)
*
* at
org.elasticsearch.search.query.QueryParseElement.parse(QueryParseElement.java:33)
*
* at
org.elasticsearch.search.SearchService.parseSource(SearchService.java:731) *
* ... 9 more*
5 years, 3 months
publish api to specific gateway
by Jon Huang
Dears
I had set up 2 gateways.
When I new an API, I have to choose which gateway to publish. (select list
at Gateway section in the implementation tab).
However after creating a client app and contract for test, I found request
via another gateway still works.
(I guest when publishing to gateway 1 and request via gateway 2 shall fail)
Am I misunderstanding or I miss some settings to make it work?
Thanks
5 years, 4 months