payload: {"action":"created","issue":{"url":"https://api.github.com/repos/hibernate/hibernate-orm/issues/2892","repository_url":"https://api.github.com/repos/hibernate/hibernate-orm","labels_url":"https://api.github.com/repos/hibernate/hibernate-orm/issues/2892/labels{/name}","comments_url":"https://api.github.com/repos/hibernate/hibernate-orm/issues/2892/comments","events_url":"https://api.github.com/repos/hibernate/hibernate-orm/issues/2892/events","html_url":"https://github.com/hibernate/hibernate-orm/pull/2892","id":449344886,"node_id":"MDExOlB1bGxSZXF1ZXN0MjgyODkxMjU4","number":2892,"title":"HHH-13418 : Revert log level caching","user":{"login":"johnaohara","id":959822,"node_id":"MDQ6VXNlcjk1OTgyMg==","avatar_url":"https://avatars1.githubusercontent.com/u/959822?v=4","gravatar_id":"","url":"https://api.github.com/users/johnaohara","html_url":"https://github.com/johnaohara","followers_url":"https://api.github.com/users/johnaohara/followers","following_url":"https://api.github.com/users/johnaohara/following{/other_user}","gists_url":"https://api.github.com/users/johnaohara/gists{/gist_id}","starred_url":"https://api.github.com/users/johnaohara/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnaohara/subscriptions","organizations_url":"https://api.github.com/users/johnaohara/orgs","repos_url":"https://api.github.com/users/johnaohara/repos","events_url":"https://api.github.com/users/johnaohara/events{/privacy}","received_events_url":"https://api.github.com/users/johnaohara/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-05-28T15:45:18Z","updated_at":"2019-05-28T16:08:46Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/hibernate/hibernate-orm/pulls/2892","html_url":"https://github.com/hibernate/hibernate-orm/pull/2892","diff_url":"https://github.com/hibernate/hibernate-orm/pull/2892.diff","patch_url":"https://github.com/hibernate/hibernate-orm/pull/2892.patch"},"body":"Historically some classes have cached the logger level in static fields to prevent calls to the logging framework to reolve logging levels at run time.\r\n\r\nCaching the log level at build time can cause a race condition in log levels at runtime, especially when the build system is multi-tiered. This is evident in a Quarkus native binary, as an incorrect log level at runtime;\r\n\r\nhttps://github.com/quarkusio/quarkus/issues/2223\r\n\r\nOptimisations in logging frameworks now mean that there is not a performance penalty for checking log level defined in the logging framework, removing the need to cache the log level."},"comment":{"url":"https://api.github.com/repos/hibernate/hibernate-orm/issues/comments/496583023","html_url":"https://github.com/hibernate/hibernate-orm/pull/2892#issuecomment-496583023","issue_url":"https://api.github.com/repos/hibernate/hibernate-orm/issues/2892","id":496583023,"node_id":"MDEyOklzc3VlQ29tbWVudDQ5NjU4MzAyMw==","user":{"login":"johnaohara","id":959822,"node_id":"MDQ6VXNlcjk1OTgyMg==","avatar_url":"https://avatars1.githubusercontent.com/u/959822?v=4","gravatar_id":"","url":"https://api.github.com/users/johnaohara","html_url":"https://github.com/johnaohara","followers_url":"https://api.github.com/users/johnaohara/followers","following_url":"https://api.github.com/users/johnaohara/following{/other_user}","gists_url":"https://api.github.com/users/johnaohara/gists{/gist_id}","starred_url":"https://api.github.com/users/johnaohara/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnaohara/subscriptions","organizations_url":"https://api.github.com/users/johnaohara/orgs","repos_url":"https://api.github.com/users/johnaohara/repos","events_url":"https://api.github.com/users/johnaohara/events{/privacy}","received_events_url":"https://api.github.com/users/johnaohara/received_events","type":"User","site_admin":false},"created_at":"2019-05-28T16:08:46Z","updated_at":"2019-05-28T16:08:46Z","author_association":"MEMBER","body":"@sebersole cached log levels cause an issue when we use Hibernate in a native build of Quarkus. The application bootstrap process is split into 2 phases. First phase is at build time where the application is bootstrapped and static fields are initialized. Again at application runtime, where runtime log levels can be redefined.  If the log level is different at runtime from build time, then the incorrect level is cached in the static fields, causing logs to be generated that then get discarded, this creates a memory overhead of logs generated at the wrong level.\r\n\r\nI spoke to David Lloyd about the if those log level checks, in jboss logging, should get inlined by the JVM and we came to the conclusion that those method calls should be inlined. I verified that reverting those caching changes do not cause performance degredation in 2 benchmarks.  This would fix a logging issue in Quarkus, and jboss logging now appears to be optimised to allow those calls to be inlined."}}
other: {"actor":{"display_login":"johnaohara"}}