[bisq-network/bisq] PriceNode: Add support for multiple ExchangeRateProviders (#4315)

wiz notifications at github.com
Tue Aug 4 17:21:51 UTC 2020


How to Reproduce:
1) Install using debian install script

Crash log:
```
Aug  4 17:18:51 price bisq-pricenode[21896]:     __    _                             _                           __
Aug  4 17:18:51 price bisq-pricenode[21896]:    / /_  (_)________ _      ____  _____(_)_______  ____  ____  ____/ /__
Aug  4 17:18:51 price bisq-pricenode[21896]:   / __ \/ / ___/ __ `/_____/ __ \/ ___/ / ___/ _ \/ __ \/ __ \/ __  / _ \
Aug  4 17:18:51 price bisq-pricenode[21896]:  / /_/ / (__  ) /_/ /_____/ /_/ / /  / / /__/  __/ / / / /_/ / /_/ /  __/
Aug  4 17:18:51 price bisq-pricenode[21896]: /_.___/_/____/\__, /     / .___/_/  /_/\___/\___/_/ /_/\____/\__,_/\___/
Aug  4 17:18:51 price bisq-pricenode[21896]:                 /_/     /_/  (v0.7.2-SNAPSHOT)
Aug  4 17:18:51 price bisq-pricenode[21896]: #033[34mAug-04 17:18:51.293 [main] INFO  bisq.price.Main: Starting Main v0.7.2-SNAPSHOT on price with PID 21896 (/bisq/bisq/lib/pricenode-0.7.2-SNAPSHOT.jar started by bisq in /)
Aug  4 17:18:51 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:51.308 [main] INFO  bisq.price.Main: No active profile set, falling back to default profiles: default
Aug  4 17:18:52 price bisq-pricenode[21896]: #033[0;39mWARNING: An illegal reflective access operation has occurred
Aug  4 17:18:52 price bisq-pricenode[21896]: WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/bisq/bisq/lib/spring-core-4.3.14.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
Aug  4 17:18:52 price bisq-pricenode[21896]: WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
Aug  4 17:18:52 price bisq-pricenode[21896]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
Aug  4 17:18:52 price bisq-pricenode[21896]: WARNING: All illegal access operations will be denied in a future release
Aug  4 17:18:52 price bisq-pricenode[21896]: #033[34mAug-04 17:18:52.920 [main] INFO  o.s.b.c.e.t.TomcatEmbeddedServletContainer: Tomcat initialized with port(s): 8080 (http)
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.567 [main] INFO  b.p.s.p.Hitbtc: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.575 [main] INFO  b.p.s.p.Coinone: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.578 [main] INFO  b.p.s.p.Bitstamp: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.587 [main] INFO  b.p.s.p.BitcoinAverage$Global: will refresh every PT3M30.004704406S
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.623 [main] INFO  b.p.s.p.BitcoinAverage$Local: will refresh every PT1M30.003024295S
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.628 [main] INFO  b.p.s.p.Bitfinex: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.636 [main] INFO  b.p.s.p.CoinGecko: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.640 [main] INFO  b.p.s.p.Quoine: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.643 [main] INFO  b.p.s.p.Luno: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.645 [main] INFO  b.p.s.p.CoinMarketCap: will refresh every PT5M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.647 [main] INFO  b.p.s.p.Huobi: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.650 [main] INFO  b.p.s.p.Bitflyer: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.655 [main] INFO  b.p.s.p.IndependentReserve: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.658 [main] INFO  b.p.s.p.Paribu: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.661 [main] INFO  b.p.s.p.CexIO: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.663 [main] INFO  b.p.s.p.Poloniex: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.665 [main] INFO  b.p.s.p.Bitbay: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.667 [main] INFO  b.p.s.p.Binance: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.670 [main] INFO  b.p.s.p.MercadoBitcoin: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.673 [main] INFO  b.p.s.p.Coinpaprika: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.677 [main] INFO  b.p.s.p.Coinmate: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.679 [main] INFO  b.p.s.p.Exmo: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.682 [main] INFO  b.p.s.p.Bitpay: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.686 [main] INFO  b.p.s.p.Kraken: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.688 [main] INFO  b.p.s.p.BTCMarkets: will refresh every PT1M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.706 [main] INFO  b.p.m.p.MempoolFeeRateProvider$First: will refresh every PT2M
Aug  4 17:18:53 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:53.710 [main] INFO  b.p.m.p.MempoolFeeRateProvider$Second: will refresh every PT2M
Aug  4 17:18:57 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:57.862 [main] INFO  b.p.s.p.Hitbtc: refresh took 3403 ms.
Aug  4 17:18:57 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:57.864 [main] INFO  b.p.s.p.Hitbtc: BTC/LTC: 0.0051332
Aug  4 17:18:57 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:57.867 [main] INFO  b.p.s.p.Hitbtc: BTC/USD: 11182.98
Aug  4 17:18:58 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:58.144 [main] INFO  b.p.s.p.Coinone: refresh took 277 ms.
Aug  4 17:18:59 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:59.199 [main] INFO  b.p.s.p.Bitstamp: refresh took 1054 ms.
Aug  4 17:18:59 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:59.199 [main] INFO  b.p.s.p.Bitstamp: BTC/LTC: 0.0051401
Aug  4 17:18:59 price bisq-pricenode[21896]: #033[0;39m#033[34mAug-04 17:18:59.199 [main] INFO  b.p.s.p.Bitstamp: BTC/USD: 11192.77
Aug  4 17:18:59 price bisq-pricenode[21896]: #033[0;39m#033[31mAug-04 17:18:59.550 [main] WARN  o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'bitcoinAverage.Global'; nested exception is org.springframework.web.client.HttpClientErrorException: 404 Not Found
Aug  4 17:18:59 price bisq-pricenode[21896]: #033[0;39m#033[1;31mAug-04 17:18:59.614 [main] ERROR o.s.b.SpringApplication: Application startup failed org.springframework.context.ApplicationContextException: Failed to start bean 'bitcoinAverage.Global'; nested exception is org.springframework.web.client.HttpClientErrorException: 404 Not Found
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:50)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:348)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:151)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:114)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:880)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.Main.main(Main.java:36)
Aug  4 17:18:59 price bisq-pricenode[21896]: Caused by: org.springframework.web.client.HttpClientErrorException: 404 Not Found
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:85)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:708)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:661)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:636)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:598)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage.getTickersKeyedByCurrencyPair(BitcoinAverage.java:108)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage.getTickersKeyedByCurrency(BitcoinAverage.java:102)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage.doGet(BitcoinAverage.java:81)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage$Global.doGet(BitcoinAverage.java:143)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.PriceProvider.refresh(PriceProvider.java:78)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.PriceProvider.start(PriceProvider.java:58)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:175)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011... 13 common frames omitted
Aug  4 17:18:59 price bisq-pricenode[21896]: #033[0;39morg.springframework.context.ApplicationContextException: Failed to start bean 'bitcoinAverage.Global'; nested exception is org.springframework.web.client.HttpClientErrorException: 404 Not Found
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:50)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:348)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:151)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:114)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:880)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.Main.main(Main.java:36)
Aug  4 17:18:59 price bisq-pricenode[21896]: Caused by: org.springframework.web.client.HttpClientErrorException: 404 Not Found
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:85)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:708)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:661)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:636)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:598)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage.getTickersKeyedByCurrencyPair(BitcoinAverage.java:108)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage.getTickersKeyedByCurrency(BitcoinAverage.java:102)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage.doGet(BitcoinAverage.java:81)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.spot.providers.BitcoinAverage$Global.doGet(BitcoinAverage.java:143)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.PriceProvider.refresh(PriceProvider.java:78)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at bisq.price.PriceProvider.start(PriceProvider.java:58)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:175)
Aug  4 17:18:59 price bisq-pricenode[21896]: #011... 13 common frames omitted
Aug  4 17:18:59 price systemd[1]: bisq-pricenode.service: Main process exited, code=exited, status=1/FAILURE
Aug  4 17:18:59 price systemd[1]: bisq-pricenode.service: Failed with result 'exit-code'.
Aug  4 17:18:59 price systemd[1]: bisq-pricenode.service: Scheduled restart job, restart counter is at 1.
Aug  4 17:18:59 price systemd[1]: Stopped Bisq Price Node.
```

Can you just delete the Bitcoin Average provider? But obviously a 404 error should not cause the pricenode to crash, this is also why CMC returning 410 a while ago caused our pricenodes to crash. It seems this critical exception is not handled?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/4315#issuecomment-668723444
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20200804/bee4a5f3/attachment-0001.html>


More information about the bisq-github mailing list