Hi Devis,

Can you show GC roots of these Session objects?

On Tue, Jun 6, 2017 at 3:52 PM, Devis Balsemin <
[email protected]> wrote:

> Hi,
>
> I’m using Ignite 1.7.
>
> I have a function nativeSQL that is called in many point of my programs.
>
> But after 2/3days I receive my OOM  (this function is called every 0.25ms
> X 10 concurrent users).
>
>
>
> My dubmp show me
>
>
>
> Class Name                                                             |
> Objects | Shallow Heap | Retained Heap
>
> ------------------------------------------------------------
> ----------------------------------------------------
>
> org.h2.engine.Session                                                  |
> 201.406 |   51.559.936 | >= 95.063.648
>
> char[]                                                                 |
> 501.160 |   40.283.480 | >= 40.283.480
>
> java.lang.Object[]                                                     |
> 625.053 |   21.469.296 | >= 34.984.640
>
> org.h2.jdbc.JdbcConnection                                             |
> 201.404 |   17.723.552 | >= 43.503.144
>
> java.util.ArrayList                                                    |
> 616.718 |   14.801.232 | >= 38.616.296
>
> java.util.HashMap$Node                                                 |
> 470.953 |   11.302.872 | >= 16.857.176
>
> org.h2.engine.UndoLog                                                  |
> 201.406 |    9.667.488 | >= 32.224.960
>
> org.apache.ignite.internal.util.GridCircularBuffer$Item                |
> 343.040 |    8.232.960 |  >= 8.232.968
>
> java.lang.String                                                       |
> 500.219 |    8.003.504 | >= 47.308.152
>
> org.h2.util.CloseWatcher                                               |
> 201.404 |    6.444.928 | >= 13.375.872
>
> java.util.HashMap$Node[]
> |   9.546 |    5.074.192 | >= 19.757.480
>
> org.h2.message.Trace                                                   |
> 201.411 |    4.833.864 | >= 16.033.024
>
> byte[]
> |   5.104 |    1.698.496 |  >= 1.698.496
>
> org.jsr166.ConcurrentHashMap8$Node[]
>        |      85 |    1.531.792 |  >= 2.455.608
>
> org.apache.ignite.internal.util.GridCircularBuffer$Item[]
> |   4.216 |    1.439.616 |  >= 9.672.576
>
> org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsSnapshot|
> 16.384 |    1.310.720 |  >= 1.310.720
>
> org.jsr166.ConcurrentLinkedHashMap$HashEntry[]
> |   1.308 |    1.225.408 |  >= 1.225.472
>
>
>
>
>
>
>
> Class Name                           | Objects | Shallow Heap
>
> --------------------------------------------------------------
>
> org.h2.engine.Session                | 201.406 |   51.559.936
>
> |- org.h2.jdbc.JdbcConnection        | 201.404 |   17.723.552
>
> |- org.h2.util.CloseWatcher          | 201.404 |    6.444.928
>
> |- java.util.HashMap$Node            | 201.404 |    4.833.696
>
> |- org.h2.command.dml.Select         |      65 |       11.440
>
> |- org.h2.table.TableFilter          |      65 |        6.760
>
> |- org.h2.jdbc.JdbcPreparedStatement |      65 |        5.720
>
> |- org.h2.index.IndexCursor          |      64 |        4.608
>
> |- org.h2.command.CommandContainer   |      65 |        2.600
>
> |- org.h2.engine.Database            |       1 |          368
>
> |- java.lang.Thread                  |       1 |          120
>
> |- org.jsr166.ConcurrentHashMap8$Node|       4 |           96
>
> |- org.h2.result.LocalResult         |       1 |           72
>
> '- Total: 12 entries                 |         |
>
>
>
> Class Name
> | Objects | Shallow Heap
>
> ------------------------------------------------------------
> -------------------------------------------------------
>
> org.h2.jdbc.JdbcConnection
> | 201.404 |   17.723.552
>
> |- org.h2.util.CloseWatcher
> | 201.404 |    6.444.928
>
> |- java.lang.Object[]
> |       1 |      960.400
>
> |- org.h2.jdbc.JdbcPreparedStatement
>                                              |      65 |        5.720
>
> |- 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$ConnectionWrapper
> |      14 |          224
>
> |- java.lang.Thread
> |       1 |          120
>
> |- org.apache.ignite.internal.processors.query.h2.twostep.
> GridReduceQueryExecutor$QueryRun|       1 |           32
>
>
>
>
>
>
>
>
>
> Class Name                                                         |
> Objects | Shallow Heap
>
> ------------------------------------------------------------
> --------------------------------
>
> java.util.ArrayList                                                |
> 616.718 |   14.801.232
>
> |- org.h2.engine.Session                                           |
> 201.406 |   51.559.936
>
> |- org.h2.engine.UndoLog                                           |
> 201.406 |    9.667.488
>
> |- org.apache.felix.framework.capabilityset.SimpleFilter           |
> 5.798 |      139.152
>
> |- org.apache.felix.framework.wiring.BundleCapabilityImpl          |
> 1.777 |       71.080
>
> |- java.lang.Object[]                                              |
> 46 |       19.560
>
> |- org.apache.felix.framework.BundleRevisionImpl                   |
> 221 |       17.680
>
> |- org.apache.felix.framework.BundleImpl                           |
> 221 |       14.144
>
> |- java.util.HashMap$Node                                          |
> 514 |       12.336
>
> |- org.h2.command.dml.Select                                       |
> 65 |       11.440
>
> |- com.flexvalley.drivers.zway.internal.config.ZWaveDbProduct      |
> 340 |        8.160
>
> |- java.security.Provider$Service                                  |
> 126 |        7.056
>
> |- java.util.concurrent.ConcurrentHashMap$Node                     |
> 292 |        7.008
>
> |- org.h2.table.TableFilter                                        |
> 65 |        6.760
>
> |- org.apache.cxf.bus.osgi.CXFExtensionBundleListener$OSGiExtension|
> 106 |        5.936
>
> |- org.apache.xerces.dom.AttributeMap                              |
> 167 |        4.008
>
> ------------------------------------------------------------
> --------------------------------
>
>
>
>
>
>
>
> H2 is used only by Ignite.
>
>
>
> This is only one function that runs QueryCursor.
>
>
>
>
>
> @Override
> *public *List<V> nativeSQL(*final *Class<?> cls, *final *String
> whereCondition, *final *Object... whereParams) {
>    StringBuilder sqlText=*new *StringBuilder(*"select * from "*
> ).append(cls.getSimpleName()).append(*" where "*).append(whereCondition);
>    *try*(QueryCursor<List<?>> qryx =
> *cache         *.query(*new *SqlFieldsQuery(sqlText.toString())
>                .setArgs(whereParams))) {
>       List<V> list = *new *CopyOnWriteArrayList<>();
>       *iteratorToStream*(qryx.iterator(),*true*).parallel().forEach(objects
> -> {
>          list.add((V) objects.get(1));
>
>       });
>
> *//qryx.close();      **return *list;
>    } *catch *(Exception ex) {
>       *logger*.error(*"Query Error {}"*, ex);
>    }
>    *finally *{
>       sqlText.setLength(0);
>       sqlText=*null*;
>    }
>    *return null*;
> }
>
>
>
> Can you help me understand if it’s my mistake please?
>
> Best Regards
>
>
>
> [image: cid:[email protected]]
>
>
>
>
>
> Devis Balsemin,  FlexValley SRL (Italy) ,
> Via Dante Alighieri 4, I-36075 Montecchio Maggiore, Italy | t: +39.0444.699622
> | f: +39.0444.1830543
>
>
>
> *Please consider your environmental responsibility before printing this
> e-mail*
>
> This communication (including any attachments) may contain privileged or
> confidential information of FlexValley SRL and is intended for a specific
> individual.  If you are not the intended recipient, you should delete this
> communication, including any attachments without reading or saving them in
> any manner, and you are hereby notified that any disclosure, copying, or
> distribution of this communication, or the taking of any action based on
> it, is strictly prohibited.
>
>
>

Reply via email to