It uses Instrumentation API. I am not aware how to access it outside of agent.
пн, 4 мар. 2019 г. в 01:17, Dmitriy Pavlov <dpav...@apache.org>: > > Looks promising. Is it possible to run this code from main? Or it has to be > an agent. > > вс, 3 мар. 2019 г., 20:26 Павлухин Иван <vololo...@gmail.com>: > > > I did an exercise setting up a project which uses maven dependency to > > ignite-core module. And it seems that it is not practical to simply > > add dependency section to pom, instruction is needed to avoid > > surprises. > > > > Also I succeed in creating a java agent which effectively allows to > > access all packages of other modules [1]. It is really a hack, but > > perhaps it can be useful. To be honest I adopted a sample found in the > > Internet [2] because it is outdated. > > > > [1] https://gist.github.com/pavlukhin/7e6740504af099cc86d67c976f1e9bee > > [2] https://gist.github.com/raphw/91c81b8afdfd76ccfd87508a0af0e8bb > > > > вс, 3 мар. 2019 г. в 09:01, Павлухин Иван <vololo...@gmail.com>: > > > > > > Dmitriy, > > > > > > Thank you for details. Yes it looks really troublesome to start Ignite > > > development with Java 9+. I am not happy to say that but even more > > > hacky workarounds could help us. In short term. > > > > > > I will try to do an exercise of setting up development environment > > > from scratch to feel the real situation. > > > > > > сб, 2 мар. 2019 г. в 20:39, Dmitriy Pavlov <dpav...@apache.org>: > > > > > > > > In a standalone mode user have to specify options. He or she may use > > > > application templates to simplify launch just like > > > > > > https://github.com/apache/ignite/tree/master/examples#running-examples-on-jdk-91011 > > > > but > > > > it is anyway required. > > > > > > > > As a user in the past (and currently) I may say: Ignite-based (or any > > other > > > > grid-based) soft is often developed in IDEA in the same process with > > server > > > > nodes. Ignite.sh (or another grid node launcher) is used in prod, but > > not > > > > for dev. > > > > > > > > сб, 2 мар. 2019 г. в 10:01, Павлухин Иван <vololo...@gmail.com>: > > > > > > > > > Dmitriy, > > > > > > > > > > I am a little bit confused by statement that "user should specify > > > > > options". I thought that we can setup all needed variables in our > > > > > startup scripts. Or are you talking about library case? > > > > > > > > > > And answering the question. Yes, more options will be needed. > > > > > --add-exports makes not exported packages from some module visible to > > > > > other specified modules. > > > > > --add-opens allows reflective access to non-public members in other > > > > > module packages (they call it "deep reflection"). > > > > > > > > > > Of course we should check everything carefully during implementation. > > > > > > > > > > пт, 1 мар. 2019 г. в 22:26, Dmitriy Pavlov <dpav...@apache.org>: > > > > > > > > > > > > Would it require a user to specify more options or use longer > > parameter > > > > > > values if we change from -add-exports to -add-opens? > > > > > > > > > > > > Stanislav, could you prepare PR to demonstrate the idea. PR will > > probably > > > > > > answer to all questions. > > > > > > > > > > > > пт, 1 мар. 2019 г. в 15:09, Павлухин Иван <vololo...@gmail.com>: > > > > > > > > > > > > > Dmitriy, > > > > > > > > > > > > > > > Would add opens require user to set up a longer line? > > > > > > > > > > > > > > I am not sure that got that question right. Could you please > > elaborate? > > > > > > > > > > > > > > пт, 1 мар. 2019 г. в 09:39, Dmitriy Pavlov <dpav...@apache.org>: > > > > > > > > > > > > > > > > Would add opens require user to set up a longer line? > > > > > > > > > > > > > > > > пт, 1 мар. 2019 г., 9:01 Павлухин Иван <vololo...@gmail.com>: > > > > > > > > > > > > > > > > > By the way. It is interesting that Unsafe class is not the > > source > > > > > of > > > > > > > > > warnings. I checked (with java 10) that there is no warnings > > issued > > > > > > > > > when Unsafe instance is accessed with good old reflective > > way. > > > > > > > > > > > > > > > > > > пт, 1 мар. 2019 г. в 08:05, Павлухин Иван < > > vololo...@gmail.com>: > > > > > > > > > > > > > > > > > > > > Here is how our friends from Hazelcast tackle the problem > > [1]. > > > > > Using > > > > > > > > > > --add-opens as Stan proposed looks like a good option in > > short > > > > > > > > > > perspective. By the way to determine all illegally accessed > > > > > packages > > > > > > > > > > we can use --illegal-access=warn, which does not deny > > operation > > > > > but > > > > > > > > > > only prints a warning. I guess we can found the majority of > > > > > packages > > > > > > > > > > by analyzing TC logs. > > > > > > > > > > > > > > > > > > > > WDYT? > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > https://gist.githubusercontent.com/pavlukhin/c8c7c6266eeab56048c31f5cdfb31d20/raw/1988aa92075eb2a60328e28b3a5933a7c7cbc347/hz-java9.png > > > > > > > > > > > > > > > > > > > > пт, 1 мар. 2019 г. в 03:04, Denis Magda <dma...@apache.org > > >: > > > > > > > > > > > > > > > > > > > > > > Flags/hacks is not a way to go for serious and mature > > projects > > > > > like > > > > > > > > > Ignite. > > > > > > > > > > > We should switch to another mode - how to replace Unsafe > > > > > > > completely. > > > > > > > > > > > > > > > > > > > > > > - > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Feb 28, 2019 at 4:32 AM Dmitriy Pavlov < > > > > > dpav...@apache.org > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > may become unavailable in any time. > > > > > > > > > > > > > > > > > > > > > > > > I remember this was discussed in 2013 that Unsafe will > > be > > > > > removed > > > > > > > > > soon. But > > > > > > > > > > > > nothing is changed yet, so I hope unsafe will be > > available > > > > > for a > > > > > > > > > long time > > > > > > > > > > > > (with flags/hacks/etc). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > чт, 28 февр. 2019 г. в 09:11, Petr Ivanov < > > > > > mr.wei...@gmail.com>: > > > > > > > > > > > > > > > > > > > > > > > > > According to warning message, there are no options > > at all, > > > > > as > > > > > > > > > Unsafe may > > > > > > > > > > > > > become unavailable in any time. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 27 Feb 2019, at 22:53, Denis Magda < > > dma...@apache.org > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > It's fine as long as the project can be launched. > > I would > > > > > > > better > > > > > > > > > start > > > > > > > > > > > > > > looking for Unsafe alternatives as the next step. > > We > > > > > can't > > > > > > > live > > > > > > > > > with it > > > > > > > > > > > > > > forever, the time to phase it out has come :) > > > > > > > > > > > > > > > > > > > > > > > > > > > > - > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Feb 27, 2019 at 9:53 AM Dmitriy Pavlov < > > > > > > > > > dpav...@apache.org> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > >> Sure, we could try this option. > > > > > > > > > > > > > >> > > > > > > > > > > > > > >> ср, 27 февр. 2019 г. в 19:16, Ilya Kasnacheev < > > > > > > > > > > > > > ilya.kasnach...@gmail.com>: > > > > > > > > > > > > > >> > > > > > > > > > > > > > >>> Hello! > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> I wonder if we could try to redirect output to > > null, > > > > > > > initialize > > > > > > > > > > > > > >> GridUnsafe > > > > > > > > > > > > > >>> and then bring output back :) > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> Regards, > > > > > > > > > > > > > >>> -- > > > > > > > > > > > > > >>> Ilya Kasnacheev > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> ср, 27 февр. 2019 г. в 18:30, Dmitriy Pavlov < > > > > > > > > > dpav...@apache.org>: > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>>> Hi Ignite Developers, > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> During the start of Ignite node under Java 11 > > > > > (actually > > > > > > > 9+) or > > > > > > > > > > > > during > > > > > > > > > > > > > >>> local > > > > > > > > > > > > > >>>> development you may face with warning related to > > > > > illegal > > > > > > > > > access. > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> You know that Ignite uses Unsafe operation for > > durable > > > > > > > memory. > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> Accessing to Unsafe requires > > --illegal-access=permit > > > > > (Now > > > > > > > it > > > > > > > > > is the > > > > > > > > > > > > > >>> default > > > > > > > > > > > > > >>>> for JVM. From the doc: > > > > > > > > > > > > > >>>> permit: ... The first reflective-access > > operation to > > > > > any > > > > > > > such > > > > > > > > > > > > package > > > > > > > > > > > > > >>>> causes a warning to be issued. However, no > > warnings > > > > > are > > > > > > > > > issued after > > > > > > > > > > > > > >> the > > > > > > > > > > > > > >>>> first occurrence. This single warning describes > > how to > > > > > > > enable > > > > > > > > > > > > further > > > > > > > > > > > > > >>>> warnings. > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> Warning example: > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> WARNING: An illegal reflective access operation > > has > > > > > > > occurred > > > > > > > > > > > > > >>>> WARNING: Illegal reflective access by > > > > > > > > > > > > > >>>> org.apache.ignite.internal.util.GridUnsafe$2 > > > > > > > > > > > > > >>>> (file:..libs/ignite-core-2.7.0.jar) to field > > > > > > > > > java.nio.Buffer.address > > > > > > > > > > > > > >>>> WARNING: Please consider reporting this to the > > > > > > > maintainers of > > > > > > > > > > > > > >>>> org.apache.ignite.internal.util.GridUnsafe$2 > > > > > > > > > > > > > >>>> WARNING: Use --illegal-access=warn to enable > > warnings > > > > > of > > > > > > > > > further > > > > > > > > > > > > > >>>> illegal reflective access operations > > > > > > > > > > > > > >>>> WARNING: All illegal access operations will be > > denied > > > > > in a > > > > > > > > > future > > > > > > > > > > > > > >> release > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> Unfortunately removing or disabling this > > warning is > > > > > > > absolutely > > > > > > > > > > > > > >>> impossible, > > > > > > > > > > > > > >>>> it is generated by JVM and there is no option to > > > > > disable > > > > > > > it: > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://docs.oracle.com/en/java/javase/11/tools/java.html#GUID-3B1CE181-CD30-4178-9602-230B800D4FAE > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>>> Sincerely, > > > > > > > > > > > > > >>>> Dmitriy Pavlov > > > > > > > > > > > > > >>>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best regards, > > > > > > > > > > Ivan Pavlukhin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Best regards, > > > > > > > > > Ivan Pavlukhin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best regards, > > > > > > > Ivan Pavlukhin > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best regards, > > > > > Ivan Pavlukhin > > > > > > > > > > > > > > > > > -- > > > Best regards, > > > Ivan Pavlukhin > > > > > > > > -- > > Best regards, > > Ivan Pavlukhin > > -- Best regards, Ivan Pavlukhin