[GitHub] [activemq-artemis-native] orpiske commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
orpiske commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#discussion_r340316928 ## File path: src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c ## @@ -32,15 +32,11 @@ #include #include #include +#include #include #include "org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h" #include "exception_helper.h" -//x86 has a strong memory model and there is no need of HW fences if just Write-Back (WB) memory is used -#define mem_barrier() __asm__ __volatile__ ("":::"memory") -#define read_barrier() __asm__ __volatile__("":::"memory") -#define store_barrier()__asm__ __volatile__("":::"memory") - Review comment: Exactly. atomic_thread_fence is provided by stdatomic which, in turn, is only available on newer GCC. To work-around that, @franz1981 can probably do some thing like this: 1. Add a check for stdatomic.h on the CMakeLists.txt and, based on its presence, define a HAVE_STDATOMIC_H flag: ``` include (CheckIncludeFiles) if (UNIX) CHECK_INCLUDE_FILES(stdatomic.h HAVE_STDATOMIC_H) endif (UNIX) ``` 2. Define atomic_thread_fence as the previous memory barrier to retain the current behaviour: ``` #if defined(HAVE_STDATOMIC_H) #include #else #define memory_order_acquire "" #define memory_order_release "" #define atomic_thread_fence(x) __asm__ __volatile__ ("":::"memory") #endif ``` This should make the code build on older versions just like the current one. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547614074 > Isn't there a new API that would perform the proper ring operations now? Maybe, I need to check, but it would create additional compatibility issues probably, requiring very recent kernels > Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? With the kernel, as an example, https://github.com/apache/activemq-artemis-native/pull/5/files#diff-499e23a4fc5ac0cf8e53a85a77699575R125 prevent the processors to speculatively start reading events *before* the tail is completed to be loaded: if we drop that barrier, the processor can anticipate reading events while the kernel hasn't finished yet to write them and we will read corrupted or incomplete events. On QEMU there is a nice description of the issue: https://github.com/lowRISC/qemu/blob/master/block/linux-aio.c#L153 On https://github.com/qemu/qemu/blob/master/docs/devel/atomics.txt#L152 the description of the barrier used by them This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547614074 > Isn't there a new API that would perform the proper ring operations now? Maybe, I need to check, but it would create additional compatibility issues probably, requiring very recent kernels > Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? With the kernel, as an example, https://github.com/apache/activemq-artemis-native/pull/5/files#diff-499e23a4fc5ac0cf8e53a85a77699575R125 prevent the processors to speculatively start reading events *before* the tail is completed to be loaded: if we drop that barrier, the processor can anticipate reading events while the kernel hasn't finished yet to write them and we will read corrupted or incomplete events. On QEMU there is a nice description of the issue: https://github.com/lowRISC/qemu/blob/master/block/linux-aio.c#L153 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547614074 > Isn't there a new API that would perform the proper ring operations now? Maybe, I need to check, but it would create additional compatibility issues probably, requiring very recent kernels > Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? With the kernel, as an example, https://github.com/apache/activemq-artemis-native/pull/5/files#diff-499e23a4fc5ac0cf8e53a85a77699575R125 prevent the processors to speculatively start reading events *before* the tail is completed to be loaded: if we drop that barrier, the processor can anticipate reading events while the kernel hasn't finished yet to write them and we will read corrupted or incomplete events This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547614074 > Isn't there a new API that would perform the proper ring operations now? Maybe, I need to check, but it would create additional compatibility issues probably, requiring very recent kernels probably > Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? With the kernel, as an example, https://github.com/apache/activemq-artemis-native/pull/5/files#diff-499e23a4fc5ac0cf8e53a85a77699575R125 prevent the processors to speculatively start reading events *before* the tail is completed to be loaded: id we drop that barrier, the processor can anticipate reading events while the kernel hasn't finished yet to write them and we will read corrupted or incomplete events This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547614074 > Isn't there a new API that would perform the proper ring operations now? Maybe, I need to check, but it would create additional compatibility issues probably, requiring very recent kernels probably > Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? With the kernel, as an example, https://github.com/apache/activemq-artemis-native/pull/5/files#diff-499e23a4fc5ac0cf8e53a85a77699575R125 prevent the processors to speculatively start reading events *before* the tail is completed to be loaded: if we drop that barrier, the processor can anticipate reading events while the kernel hasn't finished yet to write them and we will read corrupted or incomplete events This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547614074 > Isn't there a new API that would perform the proper ring operations now? Maybe, I need to check, but it would create additional compatibility issues probably, requiring very recent kernels probably > Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? With the kernel, as an example, https://github.com/apache/activemq-artemis-native/pull/5/files prevent the processors to speculatively start reading events *before* the tail is completed to be loaded: id we drop that barrier, the processor can anticipate reading events while the kernel hasn't finished yet to write them and we will read corrupted or incomplete events This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] dependabot[bot] opened a new pull request #2877: Bump netty.version from 4.1.34.Final to 4.1.43.Final
dependabot[bot] opened a new pull request #2877: Bump netty.version from 4.1.34.Final to 4.1.43.Final URL: https://github.com/apache/activemq-artemis/pull/2877 Bumps `netty.version` from 4.1.34.Final to 4.1.43.Final. Updates `netty-all` from 4.1.34.Final to 4.1.43.Final Commits - [`d066f16`](https://github.com/netty/netty/commit/d066f163d7476a4a332f95d4dc62af751378f536) [maven-release-plugin] prepare release netty-4.1.43.Final - [`7d6d953`](https://github.com/netty/netty/commit/7d6d953153697bd66c3b01ca8ec73c4494a81788) Support semicolons in query parameters as explain in the W3C recommentation (... - [`e8e7a20`](https://github.com/netty/netty/commit/e8e7a206b353058d17bc7fbfd2e36ba17b5f75f3) Use fast HPACK comparisons when not checking sensitive headers ([#9259](https://github-redirect.dependabot.com/netty/netty/issues/9259)) - [`ff9df03`](https://github.com/netty/netty/commit/ff9df03d2143639c3581a5b3192ccc8f67b334bc) Make only default IdleStateEvents cached string representation ([#9705](https://github-redirect.dependabot.com/netty/netty/issues/9705)) - [`39cc7a6`](https://github.com/netty/netty/commit/39cc7a673939dec96258ff27f5b1874671838af0) Refactor SslHandler internals to always use heap buffers for JDK SSLE… ([#9696](https://github-redirect.dependabot.com/netty/netty/issues/9696)) - [`73f5c83`](https://github.com/netty/netty/commit/73f5c8384ed657c573315fac25106f5fcbcb27dd) Bugfix [#9667](https://github-redirect.dependabot.com/netty/netty/issues/9667): FlowControllerHandler swallows read-complete event when auto-re... - [`a77fe93`](https://github.com/netty/netty/commit/a77fe9333da8bfa7c94b2b7a8e73b91b0fc8df1d) Add 'toString' method into IdleStateEvent ([#9695](https://github-redirect.dependabot.com/netty/netty/issues/9695)) - [`8674ccf`](https://github.com/netty/netty/commit/8674ccfcd269382be993c23cebe4a72233e905fb) Fix indexOutOfBoundsException when multipart/form-data is incorrect value ([#9](https://github-redirect.dependabot.com/netty/netty/issues/9)... - [`b3fb2eb`](https://github.com/netty/netty/commit/b3fb2eb27f71de20cb53d64ab2281eb2d8d31aae) Add a utility that checks if the a SslProvider supports ALPN ([#9693](https://github-redirect.dependabot.com/netty/netty/issues/9693)) - [`247a4db`](https://github.com/netty/netty/commit/247a4db470d58c5087fb4f2388a18be42b0ce9d0) Add ability to set attributes on a SslContext ([#9654](https://github-redirect.dependabot.com/netty/netty/issues/9654)) - Additional commits viewable in [compare view](https://github.com/netty/netty/compare/netty-4.1.34.Final...netty-4.1.43.Final) Updates `netty-buffer` from 4.1.34.Final to 4.1.43.Final Commits - [`d066f16`](https://github.com/netty/netty/commit/d066f163d7476a4a332f95d4dc62af751378f536) [maven-release-plugin] prepare release netty-4.1.43.Final - [`7d6d953`](https://github.com/netty/netty/commit/7d6d953153697bd66c3b01ca8ec73c4494a81788) Support semicolons in query parameters as explain in the W3C recommentation (... - [`e8e7a20`](https://github.com/netty/netty/commit/e8e7a206b353058d17bc7fbfd2e36ba17b5f75f3) Use fast HPACK comparisons when not checking sensitive headers ([#9259](https://github-redirect.dependabot.com/netty/netty/issues/9259)) - [`ff9df03`](https://github.com/netty/netty/commit/ff9df03d2143639c3581a5b3192ccc8f67b334bc) Make only default IdleStateEvents cached string representation ([#9705](https://github-redirect.dependabot.com/netty/netty/issues/9705)) - [`39cc7a6`](https://github.com/netty/netty/commit/39cc7a673939dec96258ff27f5b1874671838af0) Refactor SslHandler internals to always use heap buffers for JDK SSLE… ([#9696](https://github-redirect.dependabot.com/netty/netty/issues/9696)) - [`73f5c83`](https://github.com/netty/netty/commit/73f5c8384ed657c573315fac25106f5fcbcb27dd) Bugfix [#9667](https://github-redirect.dependabot.com/netty/netty/issues/9667): FlowControllerHandler swallows read-complete event when auto-re... - [`a77fe93`](https://github.com/netty/netty/commit/a77fe9333da8bfa7c94b2b7a8e73b91b0fc8df1d) Add 'toString' method into IdleStateEvent ([#9695](https://github-redirect.dependabot.com/netty/netty/issues/9695)) - [`8674ccf`](https://github.com/netty/netty/commit/8674ccfcd269382be993c23cebe4a72233e905fb) Fix indexOutOfBoundsException when multipart/form-data is incorrect value ([#9](https://github-redirect.dependabot.com/netty/netty/issues/9)... - [`b3fb2eb`](https://github.com/netty/netty/commit/b3fb2eb27f71de20cb53d64ab2281eb2d8d31aae) Add a utility that checks if the a SslProvider supports ALPN ([#9693](https://github-redirect.dependabot.com/netty/netty/issues/9693)) - [`247a4db`](https://github.com/netty/netty/commit/247a4db470d58c5087fb4f2388a18be42b0ce9d0) Add ability to set attributes on a SslContext ([#9654](https://github-redirect.dependabot.com/netty/netty/issues/9654)) - Additional commits
[GitHub] [activemq-artemis] dependabot[bot] opened a new pull request #2875: Bump checkstyle from 7.7 to 8.18
dependabot[bot] opened a new pull request #2875: Bump checkstyle from 7.7 to 8.18 URL: https://github.com/apache/activemq-artemis/pull/2875 Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 7.7 to 8.18. Release notes *Sourced from [checkstyle's releases](https://github.com/checkstyle/checkstyle/releases).* > ## checkstyle-8.18 > https://checkstyle.org/releasenotes.html#Release_8.18 > > ## checkstyle-8.17 > https://checkstyle.org/releasenotes.html#Release_8.17 > > ## checkstyle-8.16 > https://checkstyle.org/releasenotes.html#Release_8.16 > > ## checkstyle-8.15 > https://checkstyle.org/releasenotes.html#Release_8.15 > > ## checkstyle-8.14 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.14 > > ## checkstyle-8.13 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.13 > > ## checkstyle-8.12 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.12 > > ## checkstyle-8.11 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.11 > > ## checkstyle-8.10.1 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.10.1 > > ## checkstyle-8.10 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.10 > > ## checkstyle-8.9 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.9 > > ## checkstyle-8.8 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.8 > > Maven artifacts: > http://repo1.maven.org/maven2/com/puppycrawl/tools/checkstyle/8.8/ > > ## checkstyle-8.7 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.7 > > ## checkstyle-8.6 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.6 > > ## checkstyle-8.5 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.5 > > ## checkstyle-8.4 > http://checkstyle.sourceforge.net/releasenotes.html#Release_8.4 > ... (truncated) Commits - [`252d29b`](https://github.com/checkstyle/checkstyle/commit/252d29bdb6eb1984e115dc3f77114ec2ec7d10e7) [maven-release-plugin] prepare release checkstyle-8.18 - [`385b64a`](https://github.com/checkstyle/checkstyle/commit/385b64a6590616131869a03278a671fc7b86d1c8) minor: fix typo in comment - [`e77ec1c`](https://github.com/checkstyle/checkstyle/commit/e77ec1cf3e453ba90bbc5573f69355d24d360f28) doc: add releasenotes 8.18 - [`180b4fe`](https://github.com/checkstyle/checkstyle/commit/180b4fe37a2249d4489d584505f2b7b3ab162ec6) Issue [#6474](https://github-redirect.dependabot.com/checkstyle/checkstyle/issues/6474): disable external dtd load by default - [`59413ca`](https://github.com/checkstyle/checkstyle/commit/59413cadd7518f1e4f15bb1a70b89cadb6343e7d) minor: changed powermock tests to normal tests for TranslationCheck - [`906adae`](https://github.com/checkstyle/checkstyle/commit/906adae57d549bef09d8839f19376053b041f7e7) Issue [#4814](https://github-redirect.dependabot.com/checkstyle/checkstyle/issues/4814): added try/catch to setting up TreeWalker children - [`4b8e508`](https://github.com/checkstyle/checkstyle/commit/4b8e5086a4994f18dff9e0cad874f922f1febd39) minor: changed powermock tests to normal tests - [`86dcb80`](https://github.com/checkstyle/checkstyle/commit/86dcb80041a872232b108a51cb502da082f3c640) Issue [#6439](https://github-redirect.dependabot.com/checkstyle/checkstyle/issues/6439): move powermock tests away from the normal tests - [`96385e2`](https://github.com/checkstyle/checkstyle/commit/96385e2871cd1fc2b7b8af1b9f2d3482ec8c7791) Issue [#6440](https://github-redirect.dependabot.com/checkstyle/checkstyle/issues/6440): AnnotationLocation: named parameters must be considered parameters - [`404143c`](https://github.com/checkstyle/checkstyle/commit/404143cc4907513e87a5977883336814a202c15f) Issue [#6301](https://github-redirect.dependabot.com/checkstyle/checkstyle/issues/6301): ArrayTypeStyle support for method definitions - Additional commits viewable in [compare view](https://github.com/checkstyle/checkstyle/compare/checkstyle-7.7...checkstyle-8.18) [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.puppycrawl.tools:checkstyle=maven=7.7=8.18)](https://help.github.com/articles/configuring-automated-security-fixes) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge`
[GitHub] [activemq-artemis] dependabot[bot] opened a new pull request #2874: Bump org.eclipse.paho.client.mqttv3 from 1.1.0 to 1.2.1 in /tests/integration-tests
dependabot[bot] opened a new pull request #2874: Bump org.eclipse.paho.client.mqttv3 from 1.1.0 to 1.2.1 in /tests/integration-tests URL: https://github.com/apache/activemq-artemis/pull/2874 Bumps org.eclipse.paho.client.mqttv3 from 1.1.0 to 1.2.1. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.eclipse.paho:org.eclipse.paho.client.mqttv3=maven=1.1.0=1.2.1)](https://help.github.com/articles/configuring-automated-security-fixes) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/apache/activemq-artemis/network/alerts). This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] dependabot[bot] opened a new pull request #2876: Bump activemq5-version from 5.14.5 to 5.15.10
dependabot[bot] opened a new pull request #2876: Bump activemq5-version from 5.14.5 to 5.15.10 URL: https://github.com/apache/activemq-artemis/pull/2876 Bumps `activemq5-version` from 5.14.5 to 5.15.10. Updates `activemq-client` from 5.14.5 to 5.15.10 Updates `activemq-openwire-legacy` from 5.14.5 to 5.15.10 Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/apache/activemq-artemis/network/alerts). This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] asfgit closed pull request #2870: ARTEMIS-2530 Upgrade ActiveMQ Artemis Native 1.0.1
asfgit closed pull request #2870: ARTEMIS-2530 Upgrade ActiveMQ Artemis Native 1.0.1 URL: https://github.com/apache/activemq-artemis/pull/2870 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-nms-amqp] Havret edited a comment on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame
Havret edited a comment on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame URL: https://github.com/apache/activemq-nms-amqp/pull/45#issuecomment-547599630 @cjwmorgan-sol No it shouldn't. I've tried to reproduce what you did but with no lack. Nevertheless I've revoked the Task.Run change, as it shouldn't be part of this PR. With all that being said, I think we should revisit this part of code (mainly TriggerReconnectionAttempt) after we hopefully deliver the initial release. Calling async method without await or GetResult() is always a red flag. https://issues.apache.org/jira/browse/AMQNET-626 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-nms-amqp] Havret edited a comment on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame
Havret edited a comment on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame URL: https://github.com/apache/activemq-nms-amqp/pull/45#issuecomment-547599630 @cjwmorgan-sol No it shouldn't. I've tried to reproduce what you did but with no lack. Nevertheless I've revoked the Task.Run change, as it shouldn't be part of this PR. With all that being said, I think we should revisit this part of code (mainly TriggerReconnectionAttempt) after we hopefully deliver the initial release. Calling async method without await or GetResult() is always a red flag. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-54766 Isn't there a new API that would perform the proper ring operations now? I understand you added the direct walk through the queue, but if there's an API doing the proper iteration, perhaps we would avoid adding the barrier ourselves? Also: the barrier here is part of the contract with the kernel, or is this to avoid other operations getting from this queue? Remember that we only have one thread polling from this queue. (always) This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-nms-amqp] Havret commented on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame
Havret commented on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame URL: https://github.com/apache/activemq-nms-amqp/pull/45#issuecomment-547599630 @cjwmorgan-sol No it shouldn't. I've tried to reproduce what you did but with no lack. Nevertheless I've revoked the Task.Run change, as it shouldn't be part of this PR. With all that being said, I think we should revisit this part of code (mainly TriggerReconnectionAttempt) after we hopefully deliver initial release. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] franz1981 edited a comment on issue #2845: ARTEMIS-2336 Use zero copy to replicate journal/page/large message file (AGAIN)
franz1981 edited a comment on issue #2845: ARTEMIS-2336 Use zero copy to replicate journal/page/large message file (AGAIN) URL: https://github.com/apache/activemq-artemis/pull/2845#issuecomment-547275684 Ok, now it is more clear, thanks! So ByteBufs start to be accumulated due to FileRegions time to send. I will take another look to the file region = false case, but probably accounting correctly with a custom msg estimator could make the back-pressure to be triggered before, but i'm not sure... In the worst case I could just use something similar to what we were using before, maybe cleaning it up a lil more given that we are touching these bits This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 edited a comment on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547575936 The issue is the reordering performed by the processor: on x86 such operation won't get reordered and we can just use memory barriers for the compilers, but power pc (like arm) does aggressive reordering and I'm not sure is ok, it can fail without being unnoticed. Indeed the Linux kernel implement the barriers for power pc in a different way then x86. The code of the ring buffer Is concurrent but with the kernel: so we need to respect the order by which the kernel is populating the ring buffer. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547575936 The issue is the reordering performed by the processor: on x86 such operation won't get reordered and we can just use memory barriers for the compilers, but power pc (like arm) does aggressive reordering and I'm not sure is ok, it can fail without being unnoticed. Indeed the Linux kernel implement the barriers for power pc in a different way then x86. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] asfgit closed pull request #2873: NO-JIRA add acceptor to handshake timeout msg
asfgit closed pull request #2873: NO-JIRA add acceptor to handshake timeout msg URL: https://github.com/apache/activemq-artemis/pull/2873 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547567197 From what I understand from the ring-queue implementation, the barrier is to prevent two readers entering the same area. Which is something we never do. There's always just one thread ever calling getEvents. So, is this something that concerning anyway? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#discussion_r340253649 ## File path: src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c ## @@ -32,15 +32,11 @@ #include #include #include +#include #include #include "org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h" #include "exception_helper.h" -//x86 has a strong memory model and there is no need of HW fences if just Write-Back (WB) memory is used -#define mem_barrier() __asm__ __volatile__ ("":::"memory") -#define read_barrier() __asm__ __volatile__("":::"memory") -#define store_barrier()__asm__ __volatile__("":::"memory") - Review comment: @orpiske : I understand what you mean now, after I tried it. this would require RHEL8 / CENTOS8, or a newer Kernel. it would limit where this would be available to run. So, we need to keep it simple. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#discussion_r340253649 ## File path: src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c ## @@ -32,15 +32,11 @@ #include #include #include +#include #include #include "org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h" #include "exception_helper.h" -//x86 has a strong memory model and there is no need of HW fences if just Write-Back (WB) memory is used -#define mem_barrier() __asm__ __volatile__ ("":::"memory") -#define read_barrier() __asm__ __volatile__("":::"memory") -#define store_barrier()__asm__ __volatile__("":::"memory") - Review comment: I understand what you mean now, after I tried it. this would require RHEL8 / CENTOS8, or a newer Kernel. it would limit where this would be available to run. So, we need to keep it simple. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547558006 @franz1981 Can't we leave this as is? looking on it now it seems :::memory is an instruction for compiler and it affects something at the kernel. if you compile this for other platforms on Linux, this should be fine.. and as this solution is for Linux, this should also be fine. The issue is that we use CentOS 6 so the build is compatible with older Linux boxes... using CentOS 8 will make it non compatible with those older boxes. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-nms-amqp] michaelandrepearce merged pull request #46: AMQNET-623: Error logged during connection close when broker is down
michaelandrepearce merged pull request #46: AMQNET-623: Error logged during connection close when broker is down URL: https://github.com/apache/activemq-nms-amqp/pull/46 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-nms-amqp] michaelandrepearce commented on issue #46: AMQNET-623: Error logged during connection close when broker is down
michaelandrepearce commented on issue #46: AMQNET-623: Error logged during connection close when broker is down URL: https://github.com/apache/activemq-nms-amqp/pull/46#issuecomment-547538966 LGTM, small change which seems safe, so just merging. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-nms-amqp] cjwmorgan-sol commented on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame
cjwmorgan-sol commented on issue #45: AMQNET-624: Fix failover issue when broker sends open frame and shortly after close frame URL: https://github.com/apache/activemq-nms-amqp/pull/45#issuecomment-547534912 Looks good and tests pass. The only thing is running TriggerReconnectionAttempt outside of lock(SyncRoot) by using Task.Run(). Does this occur? (I'm not too strong in using async task pattern with locking) The FailoverProvider underlying provider seems to be manipulated safely only under the lock(SyncRoot) however I believe there is no lock(SyncRoot) in InitializeNewConnection allowing old providers to be left opened and live. I was able to add a log in InitializeNewConnection to check if an old provider was still there from the FailoverProvider.provider field and I was able to see logs FailoverProvider.provider having an old value during InitializeNewConnection. @Havret Should that be possible? This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on issue #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547533913 @franz1981 I have been using ./scripts/compile-using-docker.sh to compile upstream. As it stands now, I have this error: ``` [ 50%] Building C object src/main/c/CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o cd /work/src/main/c && /usr/bin/cc -Dartemis_native_EXPORTS -O3 -std=gnu11 -Wall -fPIC -I/work/src/main/c/. -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux-o CMakeFiles/artemis-native.dir/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c.o -c /work/src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c cc1: error: unrecognized command line option "-std=gnu11" ``` You will need to update the docker version so it compiles fine. That's also a reference to what's needed to compile the native module. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] clebertsuconic commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
clebertsuconic commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#discussion_r340213644 ## File path: src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c ## @@ -32,15 +32,11 @@ #include #include #include +#include #include #include "org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h" #include "exception_helper.h" -//x86 has a strong memory model and there is no need of HW fences if just Write-Back (WB) memory is used -#define mem_barrier() __asm__ __volatile__ ("":::"memory") -#define read_barrier() __asm__ __volatile__("":::"memory") -#define store_barrier()__asm__ __volatile__("":::"memory") - Review comment: this is fine I think, we can just use newer gcc versions... it's just the compiler. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
franz1981 commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#discussion_r340192651 ## File path: src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c ## @@ -140,7 +136,7 @@ static int ringio_get_events(io_context_t aio_ctx, long min_nr, long max, } Review comment: I would like to get rid of the heavyweight % instruction up there, but that's another story This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] orpiske commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass
orpiske commented on a change in pull request #5: ARTEMIS-2533 Support multiple architecture for ASYNCIO kernel by-pass URL: https://github.com/apache/activemq-artemis-native/pull/5#discussion_r340192351 ## File path: src/main/c/org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.c ## @@ -32,15 +32,11 @@ #include #include #include +#include #include #include "org_apache_activemq_artemis_nativo_jlibaio_LibaioContext.h" #include "exception_helper.h" -//x86 has a strong memory model and there is no need of HW fences if just Write-Back (WB) memory is used -#define mem_barrier() __asm__ __volatile__ ("":::"memory") -#define read_barrier() __asm__ __volatile__("":::"memory") -#define store_barrier()__asm__ __volatile__("":::"memory") - Review comment: I think you might run into problems with a few older GCC versions here. I believe stdatomic requires GCC 5 or newer. You may work-around this with a few cmake checks and fall back to the older format in the worst scenario. This should be simple, IMHO. This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 commented on issue #5: ARTEMIS-2533
franz1981 commented on issue #5: ARTEMIS-2533 URL: https://github.com/apache/activemq-artemis-native/pull/5#issuecomment-547503120 I would like @clebertsuconic and @orpiske reviews for this :+1: This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis-native] franz1981 opened a new pull request #5: ARTEMIS-2533
franz1981 opened a new pull request #5: ARTEMIS-2533 URL: https://github.com/apache/activemq-artemis-native/pull/5 Support multiple architecture for ASYNCIO kernel by-pass This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] jbertram opened a new pull request #2873: NO-JIRA add acceptor to handshake timeout msg
jbertram opened a new pull request #2873: NO-JIRA add acceptor to handshake timeout msg URL: https://github.com/apache/activemq-artemis/pull/2873 This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services
[GitHub] [activemq-artemis] franz1981 commented on issue #2845: ARTEMIS-2336 Use zero copy to replicate journal/page/large message file (AGAIN)
franz1981 commented on issue #2845: ARTEMIS-2336 Use zero copy to replicate journal/page/large message file (AGAIN) URL: https://github.com/apache/activemq-artemis/pull/2845#issuecomment-547275684 Ok, now it is more clear, thanks! So ByteBufs start to be accumulated due to FileRegions time to send. I will take another look to the file region = false case, but probably accounting correctly with a custom msg estimator could make the back-pressure to be triggered before, but i'm not sure... This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services