500 Internal Server Error

Hello
Ubuntu 16.04
modsecurity-2.9.1/
nginx version: nginx/1.10.0
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
built with OpenSSL 1.0.2j  26 Sep 2016
TLS SNI support enabled
configure arguments: --user=www-data --group=www-data --with-debug --with-http_ssl_module --add-module=../modsecurity-2.9.1/nginx/modsecurity --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --prefix=/etc/nginx
modsec_audit.log :
HTTP/1.1 500 Internal Server Error
--ce7a8900-H--
Message: Audit log: Failed to lock global mutex: Permission denied
Apache-Handler: IIS
Stopwatch:<PHONE_NUMBER>000758 762040 (- - -)
Stopwatch2:<PHONE_NUMBER>000758 762040; combined=391, p1=119, p2=244, p3=0, p4=0, p5=28, sr=9, sw=0, l=0, gc=0
Producer: ModSecurity for nginx (STABLE)/2.9.1 (http://www.modsecurity.org/); OWASP_CRS/2.2.9.
Server: ModSecurity Standalone
Engine-Mode: "ENABLED"
--ce7a8900-Z--
SecRequestBodyAccess On
(but disabled every Body rule)
Post;
{
"id": "d9a6f349-bf99-3d02-f441-0b2daf3ea0e2",
"name": "mod_sec",
"description": "",
"order": [
"f493837d-9401-5905-c287-09538f0e37cf"
],
"folders": [],
"timestamp":<PHONE_NUMBER>212,
"owner": 0,
"public": false,
"requests": [
{
"id": "f493837d-9401-5905-c287-09538f0e37cf",
"headers": "Origin: https://example.com\nUpgrade-Insecure-Requests: 1\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36\nContent-Type: application/x-www-form-urlencoded\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8\nReferer: https://example.com/de/site/contact\nAccept-Encoding: gzip, deflate, br\nAccept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4\nCookie: hsfirstvisit=https%3A%2F%xxx.com%2Fde%2F||1234566; _ga_privy=GA1.2.377565081.sdfgserhgrt; _csrf=adgdafgsdfgr\n",
"url": "https://example.com/de/site/contact POST",
"preRequestScript": null,
"pathVariables": {},
"method": "POST",
"data": [
{
"key": "LoginForm[identityName]",
"value": "expert"
},
{
"key": "LoginForm[password]",
"value": "XXXXX"
},
{
"key": "LoginForm[rememberMe]",
"value": "0"
},
{
"key": "LoginForm[username]",
"value"<EMAIL_ADDRESS>},
{
"key": "_csrf",
"value": "XXXXX"
},
{
"key": "login-button",
"value": ""
},
{
"key": "redirect",
"value": ""
}
],
"dataMode": "urlencoded",
"version": 2,
"tests": null,
"currentHelper": "normal",
"helperAttributes": {},
"time":<PHONE_NUMBER>407,
"name": "https://example.com/de/site/contact",
"description": "",
"collectionId": "d9a6f349-bf99-3d02-f441-0b2daf3ea0e2",
"responses": []
}
]
}
I hope someone can help
THX

Is this nginx_refactoring branch ?
I may want to use the ModSecurity-nginx connector
https://github.com/SpiderLabs/ModSecurity-nginx

Not sure i use
https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
from
https://www.modsecurity.org/download.html
thx i try with master https://github.com/SpiderLabs/ModSecurity-nginx

Sorry but i compile this verision https://github.com/SpiderLabs/ModSecurity-nginx
but the problem is the same
There are other ideas ?
THX for help :)

You are getting the error "Message: Audit log: Failed to lock global mutex: Permission denied"  with the ModSecurity-nginx ?

No this message is no longer just 500 Internal

Do you have any loaded rule that may be forcing a 500 error?

I use the OWASP https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
Basic rules.


Fix E2E workflow & improve login form UX

With Hawtio 4.x we have app images only for Java 21 and 17, so 11 was removed from the testing matrix.
Also the login form when connecting now is autofocused so user can login just from their keyboard + use Enter as submit.
(Enter as submit should work automatically in forms, but the way modals are implemented the submit button is outside the form element so it doesn't trigger the submit event)

@mmuzikar Unfortunately E2E is still failing: https://github.com/hawtio/hawtio-next/actions/runs/8368402266


Make decoding lazy

Now we have parse the whole JSON value into the JSON type, but then you have a lot of overhead when you have a lot of properties that you don't use. I tried this with a type DecodableValue that has a helper method to cast the data of the DecodableValue to the type that you want. DecodableValue replaces JSON and also saves a lot of looping and switches.

This is something we're definitely looking to do, especially since we're starting to use Argo with more complex JSON structures, like those adhering to JSON:API.


Fix and improve Navigation bar

Current Snapshot:

Do not use Materialize.
Either use Bootstrap or custom design the components using Atomic CSS

Sorry about Previous I was not well

Sorry about Previous I was not well


Reuse icons via <svg use>

The way we embed SVGs on the sites is not ideal. They are usually inlined, causing duplicate code to be shipped across the network. For example:
https://developer.chrome.com/en/docs/devtools/javascript/reference/ - which uses the Gotcha aside seven times, we inline the same 372 byte SVG seven times, which sums up to 2,54KB of which 2,17KB could be saved.
Not much, but there are other shortcodes which use more heavy icons, like the BrowserCompat shortcode made available for both sites with https://github.com/GoogleChrome/webdev-infra/pull/41. This is used 17x on https://web.dev/learn/css/pseudo-classes/#hover, adding 18,4KB of SVG code to the site for each instance, totalling in 312,8KB.
Other pages on web.dev that use BrowserCompat more than 2x:

web.dev/adaptive-loading-cds-2019/
web.dev/async-clipboard/
web.dev/building-a-dialog-component/
web.dev/camera-pan-tilt-zoom/
web.dev/constraintvalidation/
web.dev/css-size-adjust/
web.dev/fetch-metadata/
web.dev/interop-2022-wrapup/
web.dev/min-max-clamp/
web.dev/push-notifications-common-notification-patterns/
web.dev/state-of-css-2022/
web.dev/web-platform-02-2022/
web.dev/web-platform-03-2022/
web.dev/web-platform-04-2022/
web.dev/web-platform-05-2022/
web.dev/web-platform-06-2022/
web.dev/web-platform-07-2022/
web.dev/web-platform-08-2022/
web.dev/web-platform-09-2022/
web.dev/web-platform-12-2022/
web.dev/learn/css/animations/
web.dev/learn/css/backgrounds/
web.dev/learn/css/blend-modes/
web.dev/learn/css/filters/
web.dev/learn/css/functions/
web.dev/learn/css/gradients/
web.dev/learn/css/grid/
web.dev/learn/css/overflow/
web.dev/learn/css/pseudo-classes/
web.dev/learn/css/selectors/
web.dev/learn/css/shadows/
web.dev/learn/css/typography/
web.dev/learn/design/responsive-images/
web.dev/metrics/custom-metrics/
web.dev/patterns/media/screen-record/
web.dev/reliable/two-way-communication-guide/
web.dev/secure/security-headers/

By introducing a helper that keeps track of the used icons per page, we could avoid shipping duplicate bytes and also improve DOM size. This would work by giving each SVG an ID and then reuse it like this:
<svg viewBox="0 0 22 22">
  <use href="#firefox-logo" />
</svg>

For now https://github.com/GoogleChrome/webdev-infra/pull/41#issuecomment-1384285465 works around this using CSS background images with data URLs to avoid HTTP requests. Not great for maintenance, but performant at least.


Add optional callback to map.flyTo

I know that having callback arguments it's not a Leaflet pattern, but given that requestAnimFrame is asynchronous and that flyTo can be quite "long", I think having a callback in this case makes sense, as it allows smoother animation sequence (i.e. being able to run the step following flyTo only when its fully finished).

Can you accomplish the same thing with map.flyTo(center, zoom).once('moveend', callback)?

Good point, master :)
I've removed the callback, but kept the unittest, refactored. I'll let you decide if we want to merge the unittest, or just close.

Humm, I'm doing some more plays here around and it seems to me that the "moveend" event is sent at the beginning of the flyTo process, while I'm expecting it to be sent only at the end, am I smoking to much air or is it the expected behaviour? I.e. should I investigate or just take holidays? ;)

moveend should indeed be only sent in the end, but I need to finish off #3278 before we can investigate.

Oh right, I forgot about the dragon!


How to work with image URLs in external database

Hey, how to load image URLs from an external database in the gallery?

Hey. For the best performance and quality you'd better to import images into Wix. You can use the velo-sync tool here: https://github.com/velo-by-wix/velo-sync or npm package here: https://www.npmjs.com/package/velo-sync.
You can find more on working with images in Velo here: https://www.wix.com/velo/reference/$w/image/src


Win 10 Error - ERROR 2016-12-16 20:40:35,304 [BlockSaver-38] (SavingBlockListener.java:53 ) BlockSaverThread died

System information
Win10 64bit
Cakeshop version or commit hash:
Geth/Quorum version testing against: geth version
OS & Version: Windows/Linux/OSX
Windows 10
Expected behavior
The application should run error free
Actual behavior
ERROR 2016-12-16 20:40:35,304 [BlockSaver-38] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184)
at org.hibernate.cfg.Settings.getRegionFactory(Settings.java:300)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:672)
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:433)
... 9 more
Steps to reproduce the behavior
Backtrace/logs
[backtrace/logs]

Can you describe how you started the application? Which method and command line/configuration options if any?

Downloaded windows version to my Windows 10 home machine. Started for the first time waited a little then exited the app. Started the app again. Still no issues.
@rfikki Can you please provide full log as well the command you've started cakeshop with? Also, could you provide your version of java?
My steps were pretty simple
Downloaded war into directory where my user can execute files.
Ran java -jar cakeshop-0.9.0-x86_64-windows.war

Please paste the full console output as a gist and paste the link here. I think the root cause may lie elsewhere

So, steps to reproduce are I have a running completely synced latest version of geth 1.5.6 develop branch that I attach with.
I first run "java -jar cakeshop.war example" command to create the initial files as stated in your wiki. After the directory has been created I open the application.property file per your wiki and change the rpc port to 8545 and make all the stated needed changes per the wiki. The application starts up and I can visit the application at the localhost location in the browser. However browser application does not display any of the data except for the incoming block numbers. Looking at the terminal the error provided in the original post above repeats itself over and over again.

So by 'completely synced' do you mean against the public Ethereum chain? This isn't really a use case we've tested in a while as we primarily target the local development of smart contracts (i.e., develop the contract locally and then take it and deploy it on some other chain). That said, I'll give it a try and see if I can reproduce that error.

It is a running testnet ropsten geth that performs well with other smart contracts. Nothing wrong and it is fully synced when latest block is compared to etherscan.io, I run other smart contracts on it using truffle and know it is not a problem with my chain. Again as I have stated I am running your "java -jar cakeshop.war example" command. I then run "java --jar cakeshop which seems to find the running geth but outputs the error message as stated above.

I'm concerned about this --rpcport=8545. Shouldn't it be --rpcport 8545? Can you verify that rpc is actually up and listening on port 8545. Also, please use all rpc api endpoints points, which are in application.properties. For instance I do not see admin endpoint in your geth startup command.

@rfikki I think changing your startup command to the following should fix it:
"C:\projects\ethereum_develop_ropsten\geth.exe" --testnet --networkid 3 --identity "GETH DEVELOP ROPSTEN" --datadir C:\projects\ethereum_develop_ropsten\testnet_data --fast --jspath "c:\projects\ethereum_develop_ropsten\javascript" --unlock "0, 1" --shh --rpc --rpcaddr=<IP_ADDRESS> --rpcapi "admin,debug,eth,miner,net,personal,shh,txpool,web3" --ipcapi "admin,debug,eth,miner,net,personal,shh,txpool,web3" --rpcport=8545 --verbosity=3 --minerthreads "2" --rpccorsdomain="*" --solc "C:\projects\solc\solc.exe" console 2>> C:\projects\ethereum_develop_ropsten\GETH_DEVELOP_ROPSTEN_CONSOLE.log 2^&1
Note the updated list passed to --rpcapi. I'll be updating the docs soon to clarify the settings we need enabled in geth for this scenario.

Thanks @chetan, will give that a shot.

I changed the --rpciapi flags as you have suggested to rpcapi "admin,debug,eth,miner,net,personal,shh,txpool,web3" and got the following error, note I included a copy of aplication.properties at the end of the gist: https://gist.github.com/rfikki/b7f067b59d105a315ebb9efb5540c30b

In addition to the above gist I want to let you know that running java -jar cakeshop.war spawns a running node.js server that does not get terminated when you exit the cakeshop inside the terminal. I have to manually go to the running applications in windows and terminate it before I can restart cakeshop. Just wanted to let you know this.

Ok, looks like geth is returning that 403 Forbidden when trying to call eth_sendTransaction for some reason. Are you still trying to connect to the public testnet? Was there any error output in the window where you ran geth?
In general, I would suggest running on an offline/private chain instead. I'll have to try connecting to testnet and see if I can reproduce myself (@mikkazan also reported having some issues with testnet).

re: node process -could be an issue cleaning it up on Windows. I'll open a separate issue to track that. Thanks!

I am running the ropsten public ethereum testnet. and have no problem connecting to my running geth node with other applications.

I see no errors at all in the terminal for my running geth ropsten node. Runs like a charm.

I am a bit confused because when running geth --help these are the flags, they seem more limited then the flags you are using for --rpcapi.
API AND CONSOLE OPTIONS:
--rpc                  Enable the HTTP-RPC server
--rpcaddr value        HTTP-RPC server listening interface (default: "localhost")
--rpcport value        HTTP-RPC server listening port (default: 8545)
--rpcapi value         API's offered over the HTTP-RPC interface (default: "eth,net,web3")
--ws                   Enable the WS-RPC server
--wsaddr value         WS-RPC server listening interface (default: "localhost")
--wsport value         WS-RPC server listening port (default: 8546)
--wsapi value          API's offered over the WS-RPC interface (default: "eth,net,web3")
--wsorigins value      Origins from which to accept websockets requests
--ipcdisable           Disable the IPC-RPC server
--ipcapi value         APIs offered over the IPC-RPC interface (default: "admin,debug,eth,miner,net,personal,shh,txpool,web3")
--ipcpath "geth.ipc"   Filename for IPC socket/pipe within the datadir (explicit paths escape it)
--rpccorsdomain value  Comma separated list of domains from which to accept cross origin requests (browser enforced)
--jspath loadScript    JavaScript root path for loadScript (default: ".")
--exec value           Execute JavaScript statement (only in combination with console/attach)
--preload value        Comma separated list of JavaScript files to preload into the console

I guess you will update your docs to reflect that you cannot run --rpcapi with the default flags.
I do have one more question when I attach to my local running testnet with cakeshop, do I need to change the datadir flag to the location of my running geth's datadir inside the application.properties file?

I had this error, for me went away with
geth --datadir datadir --networkid 3 --rpc --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3 --rpccorsdomain "*"
for connecting to Ropsten

Hey @ice09 what changes did you make to your applications.properties file? Can you share the settings?

Sure, but as I understand, these settings have no effect due to geth.auto.start=false and the geth.url? This is quite confusing, because in the webapp, eg. the network-id is shown from the settings, but it is 3 for Ropsten in fact.
#Sun Dec 18 21:28:02 CET 2016 cakeshop.database.vendor=hsqldb cakeshop.hibernate.hbm2ddl.auto=update cakeshop.hibernate.jdbc.batch_size=20 cakeshop.jdbc.pass=sdk cakeshop.jdbc.user=sdk cakeshop.mvc.async.pool.queue.max=2000 cakeshop.mvc.async.pool.threads.core=250 cakeshop.mvc.async.pool.threads.max=1000 contract.poll.delay.millis=5000 contract.registry.addr=0x410b933e62e43e994030a776e49e06d74faded1f endpoints.actuator.enabled=true geth.auto.start=false geth.auto.stop=false geth.cors.enabled=true geth.cors.url= geth.datadir=/home/radgon/.ethereum geth.db.enabled=true geth.identity=radgon geth.log=/logs geth.mining=true geth.networkid=1006 geth.node.port=30303 geth.params.extra= geth.rpcapi.list=admin,db,eth,debug,miner,net,shh,txpool,personal,web3 geth.url=http\://localhost\:8545 geth.verbosity= management.context-path=/manage server.compression.enabled=true server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain spring.main.banner-mode=off spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp

You are on ubuntu?

yes, Ubuntu 16.04 LTS

Ok, will give it a try in my 16.04 virtual machine when I get a chance.

ok, but as I said, I don't have this error anymore, with the settings I git rid of it, I am sure that it was due to some missing rpcapi params, that's why I posted it here.

sorry, now I get it, you wanted to reproduce without the error :)
I have a different error (https://github.com/jpmorganchase/cakeshop/issues/4), but not this one anymore. I am pretty sure that it was about the rpcapi params.

Okay, was able to get a bit further along by making a few adjustments. Cakeshop is now connecting to the local geth, but after a few seconds still crashes. At least I can see it creating the contracts and connecting to my local node running ropsten testnet now. Now to figure out what is causing it to crash here is the latest error:
ERROR 2016-12-19 14:59:51,235 [BlockSaver-42] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184)
at org.hibernate.cfg.Settings.getRegionFactory(Settings.java:300)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:672)
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:433)
... 9 more
ERROR 2016-12-19 14:59:51,235 [BlockSaver-42] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184)
at org.hibernate.cfg.Settings.getRegionFactory(Settings.java:300)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:672)
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:433)
... 9 more
ERROR 2016-12-19 14:59:51,235 [BlockSaver-42] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184)
at org.hibernate.cfg.Settings.getRegionFactory(Settings.java:300)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:672)
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:433)
... 9 more
ERROR 2016-12-19 14:59:51,235 [BlockSaver-42] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184)
at org.hibernate.cfg.Settings.getRegionFactory(Settings.java:300)
at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322)
at org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:672)
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:433)
... 9 more
ERROR 2016-12-19 14:59:51,236 [BlockSaver-42] (SavingBlockListener.java:53 ) BlockSaverThread died
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.jpmorgan.cakeshop.dao.BlockDAO$$EnhancerBySpringCGLIB$$480d1e3f.save()
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:109)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)
Caused by: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.cache.spi.RegionFactory]

@ice09 wrote:

Sure, but as I understand, these settings have no effect due to geth.auto.start=false and the geth.url? This is quite confusing, because in the webapp, eg. the network-id is shown from the settings, but it is 3 for Ropsten in fact.

It is indeed a bit confusing at present. Cakeshop was originally developed under the premise of using an internally bundled version of geth to make it easier for first-time developers to bootstrap the environment. The geth.auto.start/stop settings were added as a sort of escape hatch for working with an "unmanaged" version of geth and thus the UI isn't entirely consistent when in this mode.

Ok, I have it running on Windows, but it is throwing a bunch of warnings in the terminal. At least I can check it out in the browser:
These are the warnings that keep repeating:
WARN 2016-12-19 15:38:15,274 [BlockSaver-42] (SavingBlockListener.java:118) Failed to load transaction details for tx
com.jpmorgan.cakeshop.error.APIException: Contract does not exist at 0xc47aa6c1987ec4737b40a327620c31fd1995602f
at com.jpmorgan.cakeshop.service.impl.ContractServiceImpl.get(ContractServiceImpl.java:228)
at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.cache.interceptor.CacheInterceptor$1.invoke(CacheInterceptor.java:52)
at org.springframework.cache.interceptor.CacheAspectSupport.invokeOperation(CacheAspectSupport.java:320)
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:353)
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:302)
at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy98.get(Unknown Source)
at com.jpmorgan.cakeshop.service.impl.EventServiceImpl.processEvents(EventServiceImpl.java:86)
at com.jpmorgan.cakeshop.service.impl.TransactionServiceImpl.processTx(TransactionServiceImpl.java:137)
at com.jpmorgan.cakeshop.service.impl.TransactionServiceImpl.get(TransactionServiceImpl.java:202)
at com.jpmorgan.cakeshop.db.SavingBlockListener.saveBlock(SavingBlockListener.java:115)
at com.jpmorgan.cakeshop.db.SavingBlockListener$BlockSaverThread.run(SavingBlockListener.java:48)

I also see this error in the browser API documentation window:
{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://<IP_ADDRESS>:8080/cakeshop/api/swagger.json"}]}

I also see this error in the browser API documentation window inside cakeshop:
{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://<IP_ADDRESS>:8080/cakeshop/api/swagger.json"}]}

This was fixed in #3

These are generated in the terminal window, is this normal output?
DEBUG 2016-12-19 16:00:10,595 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:00:20,597 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:00:40,609 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:01:15,628 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:01:25,636 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:01:40,642 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:02:30,671 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:02:40,676 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:03:05,693 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:03:55,722 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:04:10,727 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:04:30,736 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:04:40,745 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:04:45,746 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:05:25,771 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:06:00,803 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:06:05,789 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:06:35,811 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:06:40,810 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:06:50,814 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:07:04,505 /cakeshop/api/node/peers
DEBUG 2016-12-19 16:07:19,544 /cakeshop/api/node/peers
DEBUG 2016-12-19 16:07:24,558 /cakeshop/api/node/peers
DEBUG 2016-12-19 16:07:46,443 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:07:46,504 /cakeshop/ws/info
DEBUG 2016-12-19 16:07:46,512 /cakeshop/ws/543/rfnxdgpu/websocket
DEBUG 2016-12-19 16:07:46,678 /cakeshop/api/wallet/list
DEBUG 2016-12-19 16:07:47,265 /cakeshop/api/contract/compile
DEBUG 2016-12-19 16:07:50,848 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:07:58,912 /cakeshop/api/block/get
DEBUG 2016-12-19 16:07:59,650 /cakeshop/api/node/peers
DEBUG 2016-12-19 16:08:01,476 /cakeshop/api/block/get
DEBUG 2016-12-19 16:08:03,876 /cakeshop/api/block/get
DEBUG 2016-12-19 16:08:10,857 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:08:35,875 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:08:40,873 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:08:55,882 /cakeshop/api/contract/list

These are generated in the terminal window, is this normal output?
DEBUG 2016-12-19 16:00:10,595 /cakeshop/api/contract/list
DEBUG 2016-12-19 16:00:20,597 /cakeshop/api/contract/list

Yes, those are just 'access log' messages from the web server

@rfikki FYI, I just cut 0.9.1. Please give it a try and let me know how it goes. I also updated the configuration documentation at https://github.com/jpmorganchase/cakeshop/blob/master/docs/configuration.md


Use introsort.

This appears to improve performance very slightly for medium sized n and one-hot variables, but reduces performance for continuous variables.
Gnuplot not found, using plotters backend
Benchmarking forest
Benchmarking forest: Warming up for 3.0000 s

Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 106.0s.
Benchmarking forest: Collecting 10 samples in estimated 106.02 s (10 iterations)
Benchmarking forest: Analyzing
forest                  time:   [9.9991 s 10.128 s 10.281 s]
                        change: [-2.8555% -1.0205% +0.8443%] (p = 0.33 > 0.05)
                        No change in performance detected.

     Running unittests (target/release/deps/bench_tree-e4e43edb68de800e)
WARNING: HTML report generation will become a non-default optional feature in Criterion.rs 0.4.0.
This feature is being moved to cargo-criterion (https://github.com/bheisler/cargo-criterion) and will be optional in a future version of Criterion.rs. To silence this warning, either switch to cargo-criterion or enable the 'html_reports' feature in your Cargo.toml.

Gnuplot not found, using plotters backend
Benchmarking tree_split/tree_n=100, d=10, max_depth=4, mtry=10
Benchmarking tree_split/tree_n=100, d=10, max_depth=4, mtry=10: Warming up for 3.0000 s
Benchmarking tree_split/tree_n=100, d=10, max_depth=4, mtry=10: Collecting 100 samples in estimated 5.0350 s (56k iterations)
Benchmarking tree_split/tree_n=100, d=10, max_depth=4, mtry=10: Analyzing
tree_split/tree_n=100, d=10, max_depth=4, mtry=10
                        time:   [91.210 us 91.496 us 91.794 us]
                        change: [+19.423% +19.829% +20.227%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 11 outliers among 100 measurements (11.00%)
  2 (2.00%) low severe
  9 (9.00%) low mild
Benchmarking tree_split/tree_n=1000, d=10, max_depth=4, mtry=10
Benchmarking tree_split/tree_n=1000, d=10, max_depth=4, mtry=10: Warming up for 3.0000 s
Benchmarking tree_split/tree_n=1000, d=10, max_depth=4, mtry=10: Collecting 100 samples in estimated 9.0133 s (10k iterations)
Benchmarking tree_split/tree_n=1000, d=10, max_depth=4, mtry=10: Analyzing
tree_split/tree_n=1000, d=10, max_depth=4, mtry=10
                        time:   [872.86 us 876.92 us 881.02 us]
                        change: [+1.0759% +1.5909% +2.1139%] (p = 0.00 < 0.05)
                        Performance has regressed.
Benchmarking tree_split/tree_n=10000, d=10, max_depth=4, mtry=10
Benchmarking tree_split/tree_n=10000, d=10, max_depth=4, mtry=10: Warming up for 3.0000 s
Benchmarking tree_split/tree_n=10000, d=10, max_depth=4, mtry=10: Collecting 100 samples in estimated 5.4537 s (600 iterations)
Benchmarking tree_split/tree_n=10000, d=10, max_depth=4, mtry=10: Analyzing
tree_split/tree_n=10000, d=10, max_depth=4, mtry=10
                        time:   [9.1067 ms 9.1431 ms 9.1797 ms]
                        change: [+0.1906% +0.7948% +1.4053%] (p = 0.01 < 0.05)
                        Change within noise threshold.

Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=10
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=10: Warming up for 3.0000 s
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=10: Collecting 100 samples in estimated 6.7835 s (200 iterations)
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=10: Analyzing
tree_split/tree_n=10000, d=100, max_depth=4, mtry=10
                        time:   [33.324 ms 33.964 ms 34.607 ms]
                        change: [+11.553% +14.812% +18.152%] (p = 0.00 < 0.05)
                        Performance has regressed.
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=100
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=100: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 10.6s, or reduce sample count to 40.
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=100: Collecting 100 samples in estimated 10.622 s (100 iterations)
Benchmarking tree_split/tree_n=10000, d=100, max_depth=4, mtry=100: Analyzing
tree_split/tree_n=10000, d=100, max_depth=4, mtry=100
                        time:   [101.90 ms 102.33 ms 102.78 ms]
                        change: [+0.5477% +1.3369% +2.1588%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Benchmarking tree_split/tree_n=100000, d=10, max_depth=4, mtry=10
Benchmarking tree_split/tree_n=100000, d=10, max_depth=4, mtry=10: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 11.3s, or reduce sample count to 40.
Benchmarking tree_split/tree_n=100000, d=10, max_depth=4, mtry=10: Collecting 100 samples in estimated 11.270 s (100 iterations)
Benchmarking tree_split/tree_n=100000, d=10, max_depth=4, mtry=10: Analyzing
tree_split/tree_n=100000, d=10, max_depth=4, mtry=10
                        time:   [111.56 ms 112.08 ms 112.60 ms]
                        change: [+3.9732% +4.5678% +5.1672%] (p = 0.00 < 0.05)
                        Performance has regressed.

     Running unittests (target/release/deps/bench_utils-5e89e0c474c48fdf)
WARNING: HTML report generation will become a non-default optional feature in Criterion.rs 0.4.0.
This feature is being moved to cargo-criterion (https://github.com/bheisler/cargo-criterion) and will be optional in a future version of Criterion.rs. To silence this warning, either switch to cargo-criterion or enable the 'html_reports' feature in your Cargo.toml.

Gnuplot not found, using plotters backend
Benchmarking argsort/argsort_continuous/1000
Benchmarking argsort/argsort_continuous/1000: Warming up for 3.0000 s
Benchmarking argsort/argsort_continuous/1000: Collecting 100 samples in estimated 5.0855 s (76k iterations)
Benchmarking argsort/argsort_continuous/1000: Analyzing
argsort/argsort_continuous/1000
                        time:   [67.907 us 68.091 us 68.277 us]
                        change: [+52.530% +53.327% +54.157%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild
Benchmarking argsort/argsort_one_hot/1000
Benchmarking argsort/argsort_one_hot/1000: Warming up for 3.0000 s
Benchmarking argsort/argsort_one_hot/1000: Collecting 100 samples in estimated 5.0135 s (965k iterations)
Benchmarking argsort/argsort_one_hot/1000: Analyzing
argsort/argsort_one_hot/1000
                        time:   [5.1262 us 5.1462 us 5.1686 us]
                        change: [-28.386% -28.054% -27.745%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking argsort/sample_weight, size=1000
Benchmarking argsort/sample_weight, size=1000: Warming up for 3.0000 s
Benchmarking argsort/sample_weight, size=1000: Collecting 100 samples in estimated 5.0142 s (672k iterations)
Benchmarking argsort/sample_weight, size=1000: Analyzing
argsort/sample_weight, size=1000
                        time:   [7.4495 us 7.4902 us 7.5280 us]
                        change: [-5.6246% -5.1484% -4.6678%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking argsort/sample_indices_from_weights, size=1000
Benchmarking argsort/sample_indices_from_weights, size=1000: Warming up for 3.0000 s
Benchmarking argsort/sample_indices_from_weights, size=1000: Collecting 100 samples in estimated 5.0007 s (2.0M iterations)
Benchmarking argsort/sample_indices_from_weights, size=1000: Analyzing
argsort/sample_indices_from_weights, size=1000
                        time:   [2.5101 us 2.5212 us 2.5324 us]
                        change: [+0.9455% +1.5571% +2.1822%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild
Benchmarking argsort/oob_samples_from_weights, size=1000
Benchmarking argsort/oob_samples_from_weights, size=1000: Warming up for 3.0000 s
Benchmarking argsort/oob_samples_from_weights, size=1000: Collecting 100 samples in estimated 5.0036 s (5.6M iterations)
Benchmarking argsort/oob_samples_from_weights, size=1000: Analyzing
argsort/oob_samples_from_weights, size=1000
                        time:   [915.81 ns 920.57 ns 925.28 ns]
                        change: [+4.3305% +5.1706% +5.9416%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) low mild
  1 (1.00%) high mild
Benchmarking argsort/argsort_continuous/10000
Benchmarking argsort/argsort_continuous/10000: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 6.2s, enable flat sampling, or reduce sample count to 60.
Benchmarking argsort/argsort_continuous/10000: Collecting 100 samples in estimated 6.1799 s (5050 iterations)
Benchmarking argsort/argsort_continuous/10000: Analyzing
argsort/argsort_continuous/10000
                        time:   [1.2114 ms 1.2169 ms 1.2233 ms]
                        change: [+45.201% +46.079% +47.020%] (p = 0.00 < 0.05)
                        Performance has regressed.
Benchmarking argsort/argsort_one_hot/10000
Benchmarking argsort/argsort_one_hot/10000: Warming up for 3.0000 s
Benchmarking argsort/argsort_one_hot/10000: Collecting 100 samples in estimated 5.3663 s (61k iterations)
Benchmarking argsort/argsort_one_hot/10000: Analyzing
argsort/argsort_one_hot/10000
                        time:   [87.918 us 88.335 us 88.737 us]
                        change: [-3.7658% -3.2375% -2.7066%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking argsort/sample_weight, size=10000
Benchmarking argsort/sample_weight, size=10000: Warming up for 3.0000 s
Benchmarking argsort/sample_weight, size=10000: Collecting 100 samples in estimated 5.4432 s (30k iterations)
Benchmarking argsort/sample_weight, size=10000: Analyzing
argsort/sample_weight, size=10000
                        time:   [180.80 us 181.41 us 181.99 us]
                        change: [-5.6198% -5.1232% -4.6308%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) low mild
Benchmarking argsort/sample_indices_from_weights, size=10000
Benchmarking argsort/sample_indices_from_weights, size=10000: Warming up for 3.0000 s
Benchmarking argsort/sample_indices_from_weights, size=10000: Collecting 100 samples in estimated 5.3596 s (50k iterations)
Benchmarking argsort/sample_indices_from_weights, size=10000: Analyzing
argsort/sample_indices_from_weights, size=10000
                        time:   [105.11 us 105.36 us 105.60 us]
                        change: [-3.1431% -2.7386% -2.3162%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) low mild
  3 (3.00%) high mild
Benchmarking argsort/oob_samples_from_weights, size=10000
Benchmarking argsort/oob_samples_from_weights, size=10000: Warming up for 3.0000 s
Benchmarking argsort/oob_samples_from_weights, size=10000: Collecting 100 samples in estimated 5.1426 s (116k iterations)
Benchmarking argsort/oob_samples_from_weights, size=10000: Analyzing
argsort/oob_samples_from_weights, size=10000
                        time:   [43.120 us 43.273 us 43.428 us]
                        change: [-4.3595% -3.9207% -3.5132%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking argsort/argsort_continuous/100000
Benchmarking argsort/argsort_continuous/100000: Warming up for 3.0000 s
Benchmarking argsort/argsort_continuous/100000: Collecting 100 samples in estimated 6.5469 s (400 iterations)
Benchmarking argsort/argsort_continuous/100000: Analyzing
argsort/argsort_continuous/100000
                        time:   [16.423 ms 16.485 ms 16.546 ms]
                        change: [+51.802% +52.474% +53.105%] (p = 0.00 < 0.05)
                        Performance has regressed.
Benchmarking argsort/argsort_one_hot/100000
Benchmarking argsort/argsort_one_hot/100000: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 5.2s, enable flat sampling, or reduce sample count to 60.
Benchmarking argsort/argsort_one_hot/100000: Collecting 100 samples in estimated 5.2193 s (5050 iterations)
Benchmarking argsort/argsort_one_hot/100000: Analyzing
argsort/argsort_one_hot/100000
                        time:   [1.0226 ms 1.0258 ms 1.0288 ms]
                        change: [-23.345% -23.032% -22.716%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
Benchmarking argsort/sample_weight, size=100000
Benchmarking argsort/sample_weight, size=100000: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 6.5s, enable flat sampling, or reduce sample count to 60.
Benchmarking argsort/sample_weight, size=100000: Collecting 100 samples in estimated 6.4582 s (5050 iterations)
Benchmarking argsort/sample_weight, size=100000: Analyzing
argsort/sample_weight, size=100000
                        time:   [1.2706 ms 1.2736 ms 1.2766 ms]
                        change: [-0.2038% +0.2651% +0.7174%] (p = 0.26 > 0.05)
                        No change in performance detected.
Benchmarking argsort/sample_indices_from_weights, size=100000
Benchmarking argsort/sample_indices_from_weights, size=100000: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.1s, enable flat sampling, or reduce sample count to 50.
Benchmarking argsort/sample_indices_from_weights, size=100000: Collecting 100 samples in estimated 7.0850 s (5050 iterations)
Benchmarking argsort/sample_indices_from_weights, size=100000: Analyzing
argsort/sample_indices_from_weights, size=100000
                        time:   [1.3802 ms 1.3859 ms 1.3921 ms]
                        change: [-2.1769% -1.5761% -0.9605%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Benchmarking argsort/oob_samples_from_weights, size=100000
Benchmarking argsort/oob_samples_from_weights, size=100000: Warming up for 3.0000 s
Benchmarking argsort/oob_samples_from_weights, size=100000: Collecting 100 samples in estimated 7.4265 s (15k iterations)
Benchmarking argsort/oob_samples_from_weights, size=100000: Analyzing
argsort/oob_samples_from_weights, size=100000
                        time:   [489.68 us 491.38 us 493.10 us]
                        change: [-1.6254% -1.1573% -0.6621%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild
Benchmarking argsort/argsort_continuous/1000000
Benchmarking argsort/argsort_continuous/1000000: Warming up for 3.0000 s

Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 21.1s, or reduce sample count to 20.
Benchmarking argsort/argsort_continuous/1000000: Collecting 100 samples in estimated 21.079 s (100 iterations)
Benchmarking argsort/argsort_continuous/1000000: Analyzing
argsort/argsort_continuous/1000000
                        time:   [223.35 ms 224.81 ms 226.20 ms]
                        change: [+70.409% +71.754% +73.015%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild
Benchmarking argsort/argsort_one_hot/1000000
Benchmarking argsort/argsort_one_hot/1000000: Warming up for 3.0000 s
Benchmarking argsort/argsort_one_hot/1000000: Collecting 100 samples in estimated 5.2668 s (500 iterations)
Benchmarking argsort/argsort_one_hot/1000000: Analyzing
argsort/argsort_one_hot/1000000
                        time:   [10.465 ms 10.509 ms 10.553 ms]
                        change: [+5.3742% +5.9750% +6.5720%] (p = 0.00 < 0.05)
                        Performance has regressed.
Benchmarking argsort/sample_weight, size=1000000
Benchmarking argsort/sample_weight, size=1000000: Warming up for 3.0000 s
Benchmarking argsort/sample_weight, size=1000000: Collecting 100 samples in estimated 5.2993 s (600 iterations)
Benchmarking argsort/sample_weight, size=1000000: Analyzing
argsort/sample_weight, size=1000000
                        time:   [8.7805 ms 8.8160 ms 8.8525 ms]
                        change: [-3.3162% -2.7423% -2.1684%] (p = 0.00 < 0.05)
                        Performance has improved.
Benchmarking argsort/sample_indices_from_weights, size=1000000
Benchmarking argsort/sample_indices_from_weights, size=1000000: Warming up for 3.0000 s
Benchmarking argsort/sample_indices_from_weights, size=1000000: Collecting 100 samples in estimated 5.6539 s (400 iterations)
Benchmarking argsort/sample_indices_from_weights, size=1000000: Analyzing
argsort/sample_indices_from_weights, size=1000000
                        time:   [14.087 ms 14.159 ms 14.231 ms]
                        change: [-4.9967% -4.4051% -3.9018%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
Benchmarking argsort/oob_samples_from_weights, size=1000000
Benchmarking argsort/oob_samples_from_weights, size=1000000: Warming up for 3.0000 s
Benchmarking argsort/oob_samples_from_weights, size=1000000: Collecting 100 samples in estimated 5.4853 s (1100 iterations)
Benchmarking argsort/oob_samples_from_weights, size=1000000: Analyzing
argsort/oob_samples_from_weights, size=1000000
                        time:   [5.0249 ms 5.0364 ms 5.0470 ms]
                        change: [+3.1074% +3.5555% +3.9981%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) low severe
  4 (4.00%) low mild


Added more Server functions :D!

Added the port the internal IP and a Server Descrition and added import the java.net.InetAdress Class

Learn to spell, "Address", and closed.


add babel settings to package.json

Even though you aren't using babel directly anymore, you still need to include a babel preset in package.json or .babelrc  in your npm package.  If you don't, clients' build systems wont know how to transform it to ES5.  Specifically, I ran into this problem https://github.com/webpack/webpack/issues/2972 due to the use of the let keyword.

Whoops, i jumped the gun on this PR.  it doesn't fix the problem.  withdrawing


Unexpected whitespace added in JSX

I just noticed unexpected formatting inside a simple block of JSX using version 0.12.0 in VS Code 1.10.2. As you'll see below, whitespace is being added before and after the content of the Button component. The prettier-vscode output is inconsistent with the online Prettier tool output. I also confirmed the output using the prettier-atom package (0.26.0) in Atom matches the online tool.
{/* Before prettier-vscode */}
<Button type="submit" color="primary">
  Save
</Button>

{/* After prettier-vscode */}
<Button type="submit" color="primary">
  {' '}
  Save{' '}
</Button>

Can you make sure you don't have a whitespace at the end of the first line ?
I can reproduce it with it

There isn't whitespace before or after prior to formatting. What I put into the Prettier online tool is directly from my source. I can copy what's in the online tool, put it in Code, then format it and it still adds the literals before and after. Below is taken from Atom (only because Code doesn't show line endings).

I'm still unable to reproduce it with my setup.
Can you share

If you have any prettier installed in any node_modules/prettier upwards which may be used by this extension and thus it would be a different version used.
your settings
other extensions
OS
Line Endings

It seems to be related to the following setting:
"prettier.parser": "flow"
If I comment that out or change it to babylon the literals aren't added and the formatting appears as I'd expect.

I've opened an issue prettier/prettier#1168 which is what I've found out.
Are you using CRLF line endings? (this is the unsure part about your issue)

Thanks for looking into this. Yes, the file is using CRLF line endings.

Thanks for the report, I just sent https://github.com/prettier/prettier/pull/1170 to prettier in order to fix it! In the meantime, you can use babylon parser which supports everything that flow parser does and doesn't suffer from this bug.

Thank you @vjeux.
Prettier has been patched. Waiting for next release to be bundled with prettier-vscode to close. >0.22.0


[Feature Request] Permanently display the tooltip of the sliders.

Existing Component
Yes
Component Name
Slider
Description
I was looking into attributes of slider component. It would be nice having an attribute to turn on the tooltip display permanently.

@ziyoung show-tooltip will only display the tooltip when the mouse pointer is over the slider button. It doesn't make it permanent. Does it?

@ziyoung However, I quite agree that there should be a built-in current value indicator as a tooltip or whatever makes sense.

@ziyoung Any word to support this feature?


Allows tags to act as context managers

While installed, tags insert any sys.displayhook'ed values as children. When exiting, the tag emits itself into sys.displayhook.

To install:
pip install git+https://github.com/posit-dev/py-htmltools.git@tags-are-context-managers #egg=htmltools


How to target a specific marquee on the page?

Is it possible to target a specific marquee on the page and pause it?
Can I init a marquee without adding the class .marquee3k to the element. In the doc it says
Marquee3k.init({         selector: '.selector-name', // define a custom classname  });
But that does absolutely nothing.
Is there a way to do somnething like that :

var footerMarquee = Marquee3k.init({
        selector: '.footer-marquee, // define a custom classname
        paused: true,
       speed: 2
 });

$('.footer-marquee').on('mouseover', function(){
footerMarquee.play();
});

$('.footer-marquee').on('mouseleave', function(){
footerMarquee.pause();
});

Did you figure this out? My Marquee has the class is-init but isn't moving ...


Changing the Theme

Hello!  Our team is planning to use your software to preview dicom documents.  However, the dark theme is a stark contrast from ours.  Is there a configuration setting for changing the application's style, either embedded or self-developed?

https://docs.ohif.org/viewer/themeing.html
If existing components are missing color variables, more than happy to accept any PRs that update them to use these.

Is this page the new one: https://docs.ohif.org/platform/themeing ?


/mavros/vision_pose/pose not showing up in /mavros/local_position/pose

I am using LPE_FUSION to send vision position and yaw to the pxhawk FCU but the data in the above mentioned rostopics are very different. In fact the /mavros/local_position/pose echoes some constant garbage which doesnt change as  /mavros/vision_pose/pose changes . Any lead on how to fix this issue? I followed the following tutorial: https://dev.px4.io/en/ros/external_position_estimation.html
but seems it is not working for me

@SubMishMar you probably saw that there is an issue template for reporting issues, bugs, etc. Please follow it so we are able to help you.

Hello.
I am facing similar issue. Video
I am using default PX4 settings except for:
ATT_EXT_HDG_M: Vision```

For the reasons beyond my control I have to use old PX4 version:

```pxh> ver all
HW arch:
SITLFW git-hash: 61120d895b1cfa3798aa6bb2ce4056421ef4de6e
FW version: v1.5.5-2-g61120d8 (1.5.5 0), 17106176
OS version:  (255)
Build datetime: Nov 15 2017 23:24:39
Toolchain: 5.4.0 20160609
UNKNOWN MCU
UID: 0:1:2```

I am running SITL simulation in gazebo on Ubuntu Linux 16.04 with ROS kinetic installed from official repoes.

Hi @MulixBF,
How do you feed the mocap information into your gazebo?


Night CI 2023-12-11: Failed

action url: https://github.com/spidernet-io/egressgateway/actions/runs/7163873014

for test, close


How persist in localStorage or FLutterdocument

I know the approach for flutter redux, but for zustand flutter is not very well  documented.

Flutter zustand is a pretty new package, so a lot of things haven't been tried or documented.
For local storage you can create a wrapper around the set function. Something like this
class BearStore extends Store<int> {
  BearStore() : super(0) {
    init()
  }

  init() async {
    // load from shared prefs
    final s = await loadFromSharedPrefs();
    set(s);
  }

  persistedSet(int state) async {
    await setShwredPrefsValue(state);
    set(state);
  }
}

There's probably a good generalization in there somewhere, but that should get started. Hope that helps!


Interprets all cache subscriptions as lobby IDs

I didn't know as much as I do now about the internal lobby system when I wrote the node-dota2 lobby handlers. I need to go back in and refactor everything with new knowledge I have from building a c# implementation of a full dota2 lobby and party client.
http://blog.paral.in/dota-2-party-system/
There is some info on the party system.
The cache subscriptions come for several things, including parties, party invites, lobbies, and matchmaking. Each has a different ID. I believe lobbies are id 4.

Fixed with #66.


(Bug)Mincap is ignored in current tier if user has already bought tokens  in previous tier.

The issue actual for whitelisted investors also
Steps for reproduce:

Create MintedCapped crowdsale : 2 tiers, with minCap
Buy minCap in 1st tier
Wait until 2nd tier starts
Buy amount less than minCap from the same account

Expected result:

investor should not be allowed to buy less than minCap since he hasn't  yet bought  in 2nd tier;
minCap should be individual for each tier

Actual result:

investor able to buy less than minCap if he has bought in previous tier;
Contribution page: zero minContribution value displayed

If you are reporting a problem with Token Wizard, please include the following information:
Which network did you use? (Mainnet, Kovan, Rinkeby, etc.)
minCap: 0xa2eb3e10cd3eb5d0d758ea844e5eec46c96269c5440f2013ba6f40ae79d85d77
whitelisted:0xf18ca643185f2f7d2dfc2c7c007d0ddd72b9c093b96132a092e5c8730d105473
Ropsten
If you were able to create it, what is the URL of your crowdsale?
local
Do you have screenshots showing the problem?

Do you see errors in the dev console? If yes, please include a screenshot
No

@dennis00010011b does this issue still exist?

@vbaranov  Yes, this issue still exist

@dennis00010011b it won't be fixed from Auth-os side. We should leave the functionality of global min cap as is. Please update corresponding e2e test. Please post the link to commit with e2e fix here and then we could close the issue.

e2e tests updated
https://github.com/poanetwork/token-wizard-test-automation/commit/9cef9c9fffe3232b044c069ad2bc4a571bdeff7a


C# and Javascript Error  : OnInternalCenterChanged(Coordinate coordinate)

Hello,
I have the following Javascript Error in my projet and I can see you have the exact same problem on your demo site : https://openlayers-blazor-demo.laurent-christen.ch/
blazor.webassembly.js:1  Uncaught (in promise) Error: System.NullReferenceException: Arg_NullReferenceException    at OpenLayers.Blazor.Map.OnInternalCenterChanged(/Coordinate coordinate)     at g.endInvokeDotNetFromJS (blazor.webassembly.js:1:3136)     at Object.gn [as endInvokeDotNetFromJS] (blazor.webassembly.js:1:58655)     ...
Those errors accumulates (see my screenshot of DevTools) and seems to have secondaries effects on you demo project.
(I'm not sure but markers don't work anymore)
Any ideas of a fix ?
Best regards,
Jerome

In my Blazor server project, the debugger stops on OnInternalCenterChange (screenshot bellow)

Same issue with OSM. No fix yet

As it is the first error thrown by JS might appear (yet untraceable) that other features like adding a marker don't work due to initial map JS object failure. Tried different ways of dynamic adding markers (from the one from examples to manual SetLayers()) but none works.

The component had a major serialization issue with some local settings/globalization settings. When explicitly enforcing locals with a comma as decimal separators, I could also not add markers as coordinates have been invalid. The serialization issue is fixed (including some unit tests) in latest version 1.5.4. Please verify.

For my specific context (), you have fixed the Javascript error and made the add of Markers functional.
I appreciate your effort ! 🙏🏼
Jerome


Android Basics: Introduction to Room and Flow

Inside onCreate() in the StopScheduleFragment,
busStopAdapter.submitList(viewModel.scheduleByStopName()) should be called instead as :
busStopAdapter.submitList(viewModel.scheduleByStopName(stopName))
I am not sure but most probably this is correct!

i note the same problem and only make the assings if there is any arguments

@raulhaag I am not sure what you mean.

After this fix starter App compiles fine, but crashes at runtime (I run on real device). Does anyone observe the same behavior? Thanks.

Thanks for pointing this out!
The issue described in the original post:
busStopAdapter.submitList(viewModel.scheduleByStopName()) should be called instead as :
busStopAdapter.submitList(viewModel.scheduleByStopName(stopName))

is the same error described in this issue: https://github.com/google-developer-training/android-basics-kotlin-bus-schedule-app/issues/32, so we'll be closing this out in favor of that one.
The other issue described in other comments on this thread relating to accessing the database on the main thread will be tracked on this one https://github.com/google-developer-training/android-basics-kotlin-bus-schedule-app/issues/22


Not receiving the Push when Android APP is Closed

Bug Information
Version Number of Plugin:
Device Tested On:
Simulator Tested On:
Version of VS:
Version of Xamarin:
Versions of other things you are using:
Steps to reproduce the Behavior
The Android version doesn't handler push when the APP is closed, I used the instructions of put in my MainApplication class the event handler  as followed:
//Handle notification when app is closed here
CrossFirebasePushNotification.Current.OnNotificationReceived += (s, p) =>
{
var intent = new Intent(this, typeof(MainApplication));
intent.AddFlags(ActivityFlags.SingleTop); // origin --> .ClearTask
var defaultSoundUri = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
var pendingIntent = PendingIntent.GetActivity(this, 0 /* Request code */, intent,     PendingIntentFlags.OneShot);
            var builder = new NotificationCompat.Builder(this)
                .SetSmallIcon(Resource.Drawable.Icon)
                .SetContentTitle("test")
                .SetContentText("Teste receiving backgroudnotification")
                .SetAutoCancel(true)
                .SetContentIntent(pendingIntent)
                .SetSound(defaultSoundUri);

            var notificationManager = NotificationManager.FromContext(this);
            notificationManager.Notify(1, builder.Build());
            System.Diagnostics.Debug.WriteLine("NOTIFICATION RECEIVED", p.Data);
        };

But the only thing I'm getting is that the Push is duplicated when the app is running. but nothing happened when the is app is closed.
iOS is working smoothly.
Thanks in advance.
Screenshotst

Hi
What's your initialization code on Android?
Whats android device and model are you using?
Also did you checkout the FAQ section:

Android initialization should be done on and Android Application class to be able to handle received notifications when application is closed. Since no activity exist when application is closed.

You won't receive any push notifications if application is stopped while debugging, should reopen and close again for notifications to work when app closed. This is due to the application being on an unstable state when stopped while debugging.

On some phones android background services might be blocked by some application. This is the case of ASUS Zenfone 3 that has an Auto-start manager, which disables background services by default. You need to make sure that your push notification service is not being blocked by some application like this one, since you won't receive push notifications when app is closed if so.

Also the plugin by default already creates the notification thats why you are getting it duplicated, if you want to override this behaviour intialize using an implementation of IPushNotificationHandler

I initialized the android following the sample you created
MainActivity:
LoadApplication(new App ());
//FCM Push notification support
FirebasePushNotificationManager.ProcessIntent(Intent);
MainApplication:
        FirebasePushNotificationManager.Initialize(this, new NotificationUserCategory[]
        {
            new NotificationUserCategory("message",new List<NotificationUserAction> {
                new NotificationUserAction("Reply","Reply",NotificationActionType.Foreground),
                new NotificationUserAction("Forward","Forward",NotificationActionType.Foreground)

            }),
            new NotificationUserCategory("request",new List<NotificationUserAction> {
                new NotificationUserAction("Accept","Accept",NotificationActionType.Default,"check"),
                new NotificationUserAction("Reject","Reject",NotificationActionType.Default,"cancel")
            })

        }, true);

Device:
ZTE Model Z958
Android 5.1
-The android emulator also behaves in the same way.
-I have already gone through out the FAQ, but I couldn't figure out why.
-I also noticed one strange thing happening. I kill the app, after a few seconds the app starts the service PNFirebaseIIDService. I went though the plugin code. to se what is that service, it says that service is called when the token is updated.
See screenshot:

Maybe that is the normal behavior. but I also noticed that before that service has been called the app can receive notification, and stops receiving right after that.

How are you closing the application? Force close? or stopped while debugging?

1 - While debugging, I just stop and the same happens.
2 - I start the app without debug. Test sending a notification - OK. Close the app using the TaskManager, the app stops receiving notification.

As specified on the FAQ section you can't stop while debugging and then receive push notifications. If you do that you must reopen and close by swiping not by the task manager(because that's force closing the application)
You shouldn't stop the application by force closing using the TaskManager, if so will not receive push notifications, you should close by using swipe instead. Force closing stops the services running in background and puts the application on an unstable state

Just correcting what I said.  I am swapping to close the app. and the same happens.

@rdelrosario,
I think I found the problem, or at least in my case the Android still receiving notification after I killed the app, but for that I needed to:
Change the flag "refreshtoken" to false(what would be the case in Release mode)
FirebasePushNotificationManager.Initialize(this,false);
After doing that, is necessary to clean the App, Remove from device, and in doing that, I  rebuild the App, and if I kill the app, the device still getting the notification.
Thanks a lot for the quick replays, and effort to create that plugin... it's been a time saver for me.
Cheers,

Oh yes on the documentation is set to false on Release. Glad that was the issue.
The token refreshes when:

If that flag set to true, your token will change each time.
When package name, version name or build number changes.
The app deletes Instance ID
The app is restored on a new device
The user uninstalls/reinstall the app
The user clears app data.

I will suggest you update the token in your server each time OnTokenRefresh

Just updated the sample to avoid confusion. Thanks for this finding 👍


Store decode notes

Abstract:
This PR will add the feature of storing, decoding  and checking if a note is spent
Also allow to create the Merkle tree from the closest checkpoint

Ready for review

Suggestion should be fixed now


Show only needed values in database configuration section depending on type

Codecov Report

Merging #4164 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4164   +/-   ##
=======================================
  Coverage   19.97%   19.97%
=======================================
  Files         153      153
  Lines       30494    30494
=======================================
  Hits         6091     6091
  Misses      23489    23489
  Partials      914      914

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e5fd43c...f3cffdd. Read the comment docs.

LGTM

LGTM


pilot-agent add cert expiry metric

Please provide a description of this PR:
add a Gauge metric of cert expiry minutes on pilot-agent
# HELP istio_agent_cert_expiry_minutes The left minutes, when cert chain will expire. A negative value indicates the cert is expired.
# TYPE istio_agent_cert_expiry_minutes gauge
istio_agent_cert_expiry_minutes{resource_name="default"} 701

fixed: https://github.com/istio/istio/issues/37291

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
e905469d2c3034d96287a742fcce96d5d24a7850
link
true
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Thanks for the PR .much needed one

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
e905469d2c3034d96287a742fcce96d5d24a7850
link
true
/test unit-tests_istio

integ-pilot-multicluster_istio
62363b42476218ba18b3ec9b4312fc47a54ce206
link
true
/test integ-pilot-multicluster_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
e905469d2c3034d96287a742fcce96d5d24a7850
link
true
/test unit-tests_istio

integ-pilot-multicluster_istio
62363b42476218ba18b3ec9b4312fc47a54ce206
link
true
/test integ-pilot-multicluster_istio

gencheck_istio
62363b42476218ba18b3ec9b4312fc47a54ce206
link
true
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

https://github.com/istio/pkg/pull/483 @howardjohn PTAL

here is the latest output:
# HELP istio_agent_cert_expiry_seconds The left time, in seconds, when cert chain will expire. A negative value indicates the cert is expired.
# TYPE istio_agent_cert_expiry_seconds gauge
istio_agent_cert_expiry_seconds{resource_name="default"} 86279.188321444

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
6264bfeb132a225504933f733742e2c2e27bb3a0
link
true
/test integ-security-multicluster_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster_istio

I assume the main goal here is to generate an alert if something is wrong - certs not renewed and close to expiration, and critical for expired certs.
For this purpose, time in seconds may not be the best metric.
We know when we are supposed to renew, so adding metric on how many certs are beyond the expected renewal time, and one for expired certs may be more useful. Or number of renewal failure.
It is a critical area, we should also have some best practice, example alerts and in general a higher level view on this.
Not arguing against this metric, we can also expose this - but it's harder to page or know something is about to be wrong without some guessing.

I assume the main goal here is to generate an alert if something is wrong - certs not renewed and close to expiration, and critical for expired certs.

As requester of the feature I want to clarify: Our rootca certificate lifetime is rather short, speaking of days (not the default 10 years). We want to be able to monitor the workload certificates expiry to ensure that they do not expire after the root/intermediate cacerts, which would make it impossible for the sidecar to renew the workload certificate.
For that use case the time in seconds until expiry is exactly what we're looking for.

@howardjohn @douglas-reid updated the desc, please review this PR again.

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
c4b854355db340218bb7d614dc6760910e3cc116
link
true
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
c4b854355db340218bb7d614dc6760910e3cc116
link
true
/test lint_istio

gencheck_istio
c4b854355db340218bb7d614dc6760910e3cc116
link
true
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
c4b854355db340218bb7d614dc6760910e3cc116
link
true
/test gencheck_istio

lint_istio
09deab445ab3c0fa575c1adb7d0c010c2060ac62
link
true
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test lint_istio

Is this enabled by default?

Yes
On Fri, Mar 4, 2022 at 4:41 AM Neeraj Poddar @.***>
wrote:

Is this enabled by default?
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/37372#issuecomment-1059129150, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXKN6OSMSIUE7L3R2OTU6IAI5ANCNFSM5OQY2CLQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


Adding Support for Readiness and Liveness Probe for Dapr

Description

Adding a /healthz http api endpoint that will used for Readiness and Liveness probe for Dapr.
Adding Readiness and Liveness probes in the dapr sidecar injector.
Using the Dapr container http port to be used as /healthz
Readiness and Liveness both can be served using the same /healthz endpoint , both can be configured for different liveness or readiness probes parameters.

Issue reference
#1288
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation
[ ] Specification has been updated
[ ] Provided sample for the feature

@shalabhms will you add health endpoint to the other dapr system processes as a separate PR ?

@shalabhms will you add health endpoint to the other dapr system processes as a separate PR ?

yes.

How is this going to be provided in self-hosted mode?  Planned in a different change or is it not planned on being provided?

How is this going to be provided in self-hosted mode? Planned in a different change or is it not planned on being provided?

I think API /healthz is exposed on same http dapr port , so it can also be invoked on self-hosted mode unless I am missing something specific for self-hosted mode.

How is this going to be provided in self-hosted mode? Planned in a different change or is it not planned on being provided?

I think API /healthz is exposed on same http dapr port , so it can also be invoked on self-hosted mode unless I am missing something specific for self-hosted mode.

That's correct.

/ok-to-test

@youngbupark ah.. what's up with mr @dapr-bot :-)

According to the test run, it started out 1h ago and lasted 12s and its still going. I'm going to rerun this on another cluster.

/ok-to-test

According to the test run, it started out 1h ago and lasted 12s and its still going. I'm going to rerun this on another cluster.

thanks @yaron2

@yaron2 @shalabhms looks like long-running e2e test is because of this change. Can you try to run it locally? or try to get logs from running e2e tests?

@shalabhms please review this log. looks like app is not deployed as expected.
2020/03/25 01:19:29 Starting TestRunner
2020/03/25 01:19:29 Adding app {pubsub-publisher 0  true e2e-pubsub-publisher:dapr-aks-e2e-02 *** 1 true }
2020/03/25 01:19:29 Adding app {pubsub-subscriber 0  true e2e-pubsub-subscriber:dapr-aks-e2e-02 *** 1 true }
Failed Platform.addApps(), deployment "pubsub-publisher" is not in desired state, received: &Deployment{ObjectMeta:{pubsub-publisher  dapr-tests /apis/apps/v1/namespaces/dapr-tests/deployments/pubsub-publisher ad53cc71-6e36-11ea-8ba1-9634db7b0f25 15353949 1 2020-03-25 01:19:30 +0000 UTC <nil> <nil> map[] map[deployment.kubernetes.io/revision:1] [] []  []},Spec:DeploymentSpec{Replicas:*1,Selector:&v1.LabelSelector{MatchLabels:map[string]string{testapp: pubsub-publisher,},MatchExpressions:[]LabelSelectorRequirement{},},Template:{{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[testapp:pubsub-publisher] map[dapr.io/enabled:true dapr.io/id:pubsub-publisher dapr.io/port:3000] [] []  []} {[] [] [{pubsub-publisher ***/e2e-pubsub-publisher:dapr-aks-e2e-02 [] []  [{http 0 3000 TCP }] [] [] {map[] map[]} [] [] nil nil nil nil /dev/termination-log File Always nil false false false}] [] Always 0xc000353c30 <nil> ClusterFirst map[]   <nil>  false false false <nil> PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,} []   nil default-scheduler [] []  <nil> nil [] <nil> <nil> <nil> map[] []}},Strategy:DeploymentStrategy{Type:RollingUpdate,RollingUpdate:&RollingUpdateDeployment{MaxUnavailable:25%,MaxSurge:25%,},},MinReadySeconds:0,RevisionHistoryLimit:*10,Paused:false,ProgressDeadlineSeconds:*600,},Status:DeploymentStatus{ObservedGeneration:1,Replicas:1,UpdatedReplicas:1,AvailableReplicas:0,UnavailableReplicas:1,Conditions:[]DeploymentCondition{DeploymentCondition{Type:Available,Status:False,Reason:MinimumReplicasUnavailable,Message:Deployment does not have minimum availability.,LastUpdateTime:2020-03-25 01:19:30 +0000 UTC,LastTransitionTime:2020-03-25 01:19:30 +0000 UTC,},DeploymentCondition{Type:Progressing,Status:True,Reason:ReplicaSetUpdated,Message:ReplicaSet "pubsub-publisher-7949cc8b74" is progressing.,LastUpdateTime:2020-03-25 01:19:30 +0000 UTC,LastTransitionTime:2020-03-25 01:19:30 +0000 UTC,},},ReadyReplicas:0,CollisionCount:nil,},}: timed out waiting for the conditionFAIL	github.com/dapr/dapr/tests/e2e/pubsub	617.397s
2020/03/25 01:29:49 Adding app {secretapp 0  true e2e-sec```

@shalabhms please review this log. looks like app is not deployed as expected.
2020/03/25 01:19:29 Starting TestRunner
2020/03/25 01:19:29 Adding app {pubsub-publisher 0  true e2e-pubsub-publisher:dapr-aks-e2e-02 *** 1 true }
2020/03/25 01:19:29 Adding app {pubsub-subscriber 0  true e2e-pubsub-subscriber:dapr-aks-e2e-02 *** 1 true }
Failed Platform.addApps(), deployment "pubsub-publisher" is not in desired state, received: &Deployment{ObjectMeta:{pubsub-publisher  dapr-tests /apis/apps/v1/namespaces/dapr-tests/deployments/pubsub-publisher ad53cc71-6e36-11ea-8ba1-9634db7b0f25 15353949 1 2020-03-25 01:19:30 +0000 UTC <nil> <nil> map[] map[deployment.kubernetes.io/revision:1] [] []  []},Spec:DeploymentSpec{Replicas:*1,Selector:&v1.LabelSelector{MatchLabels:map[string]string{testapp: pubsub-publisher,},MatchExpressions:[]LabelSelectorRequirement{},},Template:{{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[testapp:pubsub-publisher] map[dapr.io/enabled:true dapr.io/id:pubsub-publisher dapr.io/port:3000] [] []  []} {[] [] [{pubsub-publisher ***/e2e-pubsub-publisher:dapr-aks-e2e-02 [] []  [{http 0 3000 TCP }] [] [] {map[] map[]} [] [] nil nil nil nil /dev/termination-log File Always nil false false false}] [] Always 0xc000353c30 <nil> ClusterFirst map[]   <nil>  false false false <nil> PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,} []   nil default-scheduler [] []  <nil> nil [] <nil> <nil> <nil> map[] []}},Strategy:DeploymentStrategy{Type:RollingUpdate,RollingUpdate:&RollingUpdateDeployment{MaxUnavailable:25%,MaxSurge:25%,},},MinReadySeconds:0,RevisionHistoryLimit:*10,Paused:false,ProgressDeadlineSeconds:*600,},Status:DeploymentStatus{ObservedGeneration:1,Replicas:1,UpdatedReplicas:1,AvailableReplicas:0,UnavailableReplicas:1,Conditions:[]DeploymentCondition{DeploymentCondition{Type:Available,Status:False,Reason:MinimumReplicasUnavailable,Message:Deployment does not have minimum availability.,LastUpdateTime:2020-03-25 01:19:30 +0000 UTC,LastTransitionTime:2020-03-25 01:19:30 +0000 UTC,},DeploymentCondition{Type:Progressing,Status:True,Reason:ReplicaSetUpdated,Message:ReplicaSet "pubsub-publisher-7949cc8b74" is progressing.,LastUpdateTime:2020-03-25 01:19:30 +0000 UTC,LastTransitionTime:2020-03-25 01:19:30 +0000 UTC,},},ReadyReplicas:0,CollisionCount:nil,},}: timed out waiting for the conditionFAIL	github.com/dapr/dapr/tests/e2e/pubsub	617.397s
2020/03/25 01:29:49 Adding app {secretapp 0  true e2e-sec```

Thanks @youngbupark . I am looking into it.

/ok-to-test

@shalabhms please review this log. looks like app is not deployed as expected.
2020/03/25 01:19:29 Starting TestRunner
2020/03/25 01:19:29 Adding app {pubsub-publisher 0  true e2e-pubsub-publisher:dapr-aks-e2e-02 *** 1 true }
2020/03/25 01:19:29 Adding app {pubsub-subscriber 0  true e2e-pubsub-subscriber:dapr-aks-e2e-02 *** 1 true }
Failed Platform.addApps(), deployment "pubsub-publisher" is not in desired state, received: &Deployment{ObjectMeta:{pubsub-publisher  dapr-tests /apis/apps/v1/namespaces/dapr-tests/deployments/pubsub-publisher ad53cc71-6e36-11ea-8ba1-9634db7b0f25 15353949 1 2020-03-25 01:19:30 +0000 UTC <nil> <nil> map[] map[deployment.kubernetes.io/revision:1] [] []  []},Spec:DeploymentSpec{Replicas:*1,Selector:&v1.LabelSelector{MatchLabels:map[string]string{testapp: pubsub-publisher,},MatchExpressions:[]LabelSelectorRequirement{},},Template:{{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[testapp:pubsub-publisher] map[dapr.io/enabled:true dapr.io/id:pubsub-publisher dapr.io/port:3000] [] []  []} {[] [] [{pubsub-publisher ***/e2e-pubsub-publisher:dapr-aks-e2e-02 [] []  [{http 0 3000 TCP }] [] [] {map[] map[]} [] [] nil nil nil nil /dev/termination-log File Always nil false false false}] [] Always 0xc000353c30 <nil> ClusterFirst map[]   <nil>  false false false <nil> PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,} []   nil default-scheduler [] []  <nil> nil [] <nil> <nil> <nil> map[] []}},Strategy:DeploymentStrategy{Type:RollingUpdate,RollingUpdate:&RollingUpdateDeployment{MaxUnavailable:25%,MaxSurge:25%,},},MinReadySeconds:0,RevisionHistoryLimit:*10,Paused:false,ProgressDeadlineSeconds:*600,},Status:DeploymentStatus{ObservedGeneration:1,Replicas:1,UpdatedReplicas:1,AvailableReplicas:0,UnavailableReplicas:1,Conditions:[]DeploymentCondition{DeploymentCondition{Type:Available,Status:False,Reason:MinimumReplicasUnavailable,Message:Deployment does not have minimum availability.,LastUpdateTime:2020-03-25 01:19:30 +0000 UTC,LastTransitionTime:2020-03-25 01:19:30 +0000 UTC,},DeploymentCondition{Type:Progressing,Status:True,Reason:ReplicaSetUpdated,Message:ReplicaSet "pubsub-publisher-7949cc8b74" is progressing.,LastUpdateTime:2020-03-25 01:19:30 +0000 UTC,LastTransitionTime:2020-03-25 01:19:30 +0000 UTC,},},ReadyReplicas:0,CollisionCount:nil,},}: timed out waiting for the conditionFAIL	github.com/dapr/dapr/tests/e2e/pubsub	617.397s
2020/03/25 01:29:49 Adding app {secretapp 0  true e2e-sec```

Thanks @youngbupark . I am looking into it.

There are 2 issues fixed by last 2 commits.
1. Probe Path need to include the api version.
2. http Metrics app test need to consider the v1.0/healthz path for http request also.

@shalabhms Please update api spec.


Question: differences with gulp

What's the differences with gulp?

A whole lot smaller and getting a totally different approach.
And Gulp is "streaming", which in turn is only when you do IO stuff (so, using .src and .pipe stuff).

In Start everything is a Promise, which is in my opinion much closer to JS ecosystem reality than "everything is a Stream" hackarounds. Plugins are just simple and thin wrappers on top already existing (in most cases) promise-based APIs, like fast-glob. Tasks are just lazy functions with arguments that wraps plugins. It's functional and composable in general. There is a way to publish "presets" as separate packages with everything included, even Start CLI.
On the other hand if you are totally fine with Gulp I personally see almost no reasons to try something else. Start shines when you like the concept behind.


fix typos (re-applying pull/2362)

This change is

Cluster autoscaler has been moved to https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler. Please send this PR against that repository.
@mwielgus when we do plan to delete code in contrib?


support cloud credentials (ssh key) for openstack driver, rancher 2.2.3 or later

What kind of request is this (question/bug/enhancement/feature request):
enhancement
Steps to reproduce (least amount of steps as possible):
install 2.2.3 and inspect under node-template/cloud-template
Result:
cloud credentials should have openstack as an option in the drop down menu
Other details that may be helpful:
It could be that the quick resolution for now is to provide explicit documentation about what is the expected way, to feed the ssh keys for openstack k8s clusters. I was able to make it work by planting it on the relevant pods, but the process is cumbersome in an HA setup and not very friendly for long term maintenance.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA):

2.2.3

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

openstack

Docker version (use docker version):

N/A

gz#4572

Agreed. Was just looking at this in my setup and thought to look to see if it exists.

This is still outstanding: cloud credentials should have openstack as an option
In fact, let's stretch the goal, somewhat: could there be a solution which allows to mix-and-match cloud credentials?