[jira] [Updated] (IGNITE-20026) Java thin client does not allow ports greater than 49151

2023-07-23 Thread Pavel Tupitsyn (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-20026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-20026:

Description: *TcpClientChannel.validateConfiguration* rejects ports outside 
of 1024 - 49151 range (https://en.wikipedia.org/wiki/Registered_port), for no 
good reason. Remove this limitation.

> Java thin client does not allow ports greater than 49151
> 
>
> Key: IGNITE-20026
> URL: https://issues.apache.org/jira/browse/IGNITE-20026
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 2.15
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
> Fix For: 2.16
>
>
> *TcpClientChannel.validateConfiguration* rejects ports outside of 1024 - 
> 49151 range (https://en.wikipedia.org/wiki/Registered_port), for no good 
> reason. Remove this limitation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-20026) Java thin client does not allow ports greater than 49151

2023-07-23 Thread Pavel Tupitsyn (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-20026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-20026:

Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Java thin client does not allow ports greater than 49151
> 
>
> Key: IGNITE-20026
> URL: https://issues.apache.org/jira/browse/IGNITE-20026
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 2.15
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
> Fix For: 2.16
>
>
> *TcpClientChannel.validateConfiguration* rejects ports outside of 1024 - 
> 49151 range (https://en.wikipedia.org/wiki/Registered_port), for no good 
> reason. Remove this limitation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-20026) Java thin client does not allow ports greater than 49151

2023-07-23 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-20026:
---

 Summary: Java thin client does not allow ports greater than 49151
 Key: IGNITE-20026
 URL: https://issues.apache.org/jira/browse/IGNITE-20026
 Project: Ignite
  Issue Type: Bug
  Components: thin client
Affects Versions: 2.15
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 2.16






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (IGNITE-20021) Too many Raft-FSMCaller-Disruptor threads

2023-07-23 Thread Vladislav Pyatkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-20021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladislav Pyatkov reassigned IGNITE-20021:
--

Assignee: Vladislav Pyatkov

> Too many Raft-FSMCaller-Disruptor threads
> -
>
> Key: IGNITE-20021
> URL: https://issues.apache.org/jira/browse/IGNITE-20021
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Attachments: threads.txt
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> There are too many threads in the attached dump. The majority of them related 
> to stopped nodes:
> {noformat}
> "%irclilurt_n_1%JRaft-FSMCaller-Disruptor-_stripe_5-0" #147152 daemon prio=5 
> os_prio=0 cpu=0.11ms elapsed=184.09s tid=0x7f8a95578000 nid=0xfe0d3 
> waiting on condition  [0x7f85a94e4000]
>java.lang.Thread.State: WAITING (parking)
> at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
> - parking to wait for  <0x00040aee3db8> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at 
> java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:194)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.17/AbstractQueuedSynchronizer.java:2081)
> at 
> com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
> at 
> com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
> at 
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
> at java.lang.Thread.run(java.base@11.0.17/Thread.java:834)
> {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-20021) Too many Raft-FSMCaller-Disruptor threads

2023-07-23 Thread Vladislav Pyatkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-20021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladislav Pyatkov updated IGNITE-20021:
---
Description: 
There are too many threads in the attached dump. The majority of them related 
to stopped nodes:

{noformat}
"%irclilurt_n_1%JRaft-FSMCaller-Disruptor-_stripe_5-0" #147152 daemon prio=5 
os_prio=0 cpu=0.11ms elapsed=184.09s tid=0x7f8a95578000 nid=0xfe0d3 waiting 
on condition  [0x7f85a94e4000]
   java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
- parking to wait for  <0x00040aee3db8> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at 
java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:194)
at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.17/AbstractQueuedSynchronizer.java:2081)
at 
com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
at 
com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
at java.lang.Thread.run(java.base@11.0.17/Thread.java:834)
{noformat}


 

  was:
There are too many threads in the attached dump. The majority of them related 
to stopped nodes:

{noformat}
"%irst_n_3344%JRaft-FSMCaller-Disruptor-_stripe_0-0" #112582 daemon prio=5 
os_prio=0 cpu=0.14ms elapsed=0.84s tid=0x7f19ee2f9800 nid=0x271367 waiting 
on condition [0x7f19ce8f9000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
- parking to wait for <0x000446aa6268> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at 
java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:194)
at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.17/AbstractQueuedSynchronizer.java:2081)
at com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
at 
com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
at java.lang.Thread.run(java.base@11.0.17/Thread.java:834)
{noformat}

This seems like the FMC Caller disruptor stops incorreectly. The most 
suspicious fix that could be influential on this is IGNITE-19231.

 


> Too many Raft-FSMCaller-Disruptor threads
> -
>
> Key: IGNITE-20021
> URL: https://issues.apache.org/jira/browse/IGNITE-20021
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Attachments: threads.txt
>
>
> There are too many threads in the attached dump. The majority of them related 
> to stopped nodes:
> {noformat}
> "%irclilurt_n_1%JRaft-FSMCaller-Disruptor-_stripe_5-0" #147152 daemon prio=5 
> os_prio=0 cpu=0.11ms elapsed=184.09s tid=0x7f8a95578000 nid=0xfe0d3 
> waiting on condition  [0x7f85a94e4000]
>java.lang.Thread.State: WAITING (parking)
> at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
> - parking to wait for  <0x00040aee3db8> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at 
> java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:194)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.17/AbstractQueuedSynchronizer.java:2081)
> at 
> com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
> at 
> com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
> at 
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
> at java.lang.Thread.run(java.base@11.0.17/Thread.java:834)
> {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20021) Too many Raft-FSMCaller-Disruptor threads

2023-07-23 Thread Vladislav Pyatkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17746100#comment-17746100
 ] 

Vladislav Pyatkov commented on IGNITE-20021:


I found a test which is fogetting to close disruptor threads 
ItRaftCommandLeftInLogUntilRestartTest.

> Too many Raft-FSMCaller-Disruptor threads
> -
>
> Key: IGNITE-20021
> URL: https://issues.apache.org/jira/browse/IGNITE-20021
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Attachments: threads.txt
>
>
> There are too many threads in the attached dump. The majority of them related 
> to stopped nodes:
> {noformat}
> "%irst_n_3344%JRaft-FSMCaller-Disruptor-_stripe_0-0" #112582 daemon prio=5 
> os_prio=0 cpu=0.14ms elapsed=0.84s tid=0x7f19ee2f9800 nid=0x271367 
> waiting on condition [0x7f19ce8f9000]
> java.lang.Thread.State: WAITING (parking)
> at jdk.internal.misc.Unsafe.park(java.base@11.0.17/Native Method)
> - parking to wait for <0x000446aa6268> (a 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at 
> java.util.concurrent.locks.LockSupport.park(java.base@11.0.17/LockSupport.java:194)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.17/AbstractQueuedSynchronizer.java:2081)
> at 
> com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
> at 
> com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
> at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
> at java.lang.Thread.run(java.base@11.0.17/Thread.java:834)
> {noformat}
> This seems like the FMC Caller disruptor stops incorreectly. The most 
> suspicious fix that could be influential on this is IGNITE-19231.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-20024) When H2 is used as the underlying storage, an exception is thrown "Can not set java.time.LocalDateTime field org.apache.ignite.examples.model.Person.createdTime to java

2023-07-23 Thread bin.yin (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-20024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

bin.yin updated IGNITE-20024:
-
Summary: When H2 is used as the underlying storage, an exception is thrown 
"Can not set java.time.LocalDateTime field 
org.apache.ignite.examples.model.Person.createdTime to java.sql.Timestamp"  
(was: When MySQL is used as the underlying storage, an exception is thrown "Can 
not set java.time.LocalDateTime field 
org.apache.ignite.examples.model.Person.createdTime to java.sql.Timestamp")

> When H2 is used as the underlying storage, an exception is thrown "Can not 
> set java.time.LocalDateTime field 
> org.apache.ignite.examples.model.Person.createdTime to java.sql.Timestamp"
> ---
>
> Key: IGNITE-20024
> URL: https://issues.apache.org/jira/browse/IGNITE-20024
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: bin.yin
>Assignee: bin.yin
>Priority: Major
>
> h3. Question:
> {{First, I use `IgniteCache#loadCache` load from RDBMS. When I use 
> IgniteCache.get(key) to get the corresponding entity, ignite throws the 
> following error "Can not set java.time.LocalDateTime field 
> org.apache.ignite.examples.model.Person.createdTime to java.sql .Timestamp"}}
> h3. Conditions and usage:
>  # This code run in 'ignite-examples' module;
>  # In ignite 2.14.0, I use H2 as the underlying storage;
>  # In `{{{}CacheJdbcPojoStoreFactory`{}}}, I configured the mapping between 
> the `{{{}datetime type`{}}} of the database and JDK8's 
> `{{{}LocalDateTime`{}}}:
> {{new JdbcTypeField(Types.TIMESTAMP, "created_time", LocalDateTime.class, 
> "createdTime")}}
> h3. Problem analysis:
> By default, {{CacheJdbcPojoStore}} uses 
> {{org.apache.ignite.cache.store.jdbc.JdbcTypesTransformer#getColumnValue}} to 
> parse jdbc's ResultSet.
> For the {{LocalDateTime}} type of JDK8, {{java.sql.ResultSet#getObject(int)}} 
> is used to obtain the value of the specified column (here it is read as 
> {{{}java.sql.Timestamp{}}}). When the object is finally constructed, the type 
> is inconsistent Causes {{sun.reflect.FieldAccessor#set}} assignment to fail.
>  
> *Java Code:*
> CacheJdbcPojoStore.java:
>  
> {code:java}
> package org.apache.ignite.examples.datagrid.store.auto;
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.Ignition;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory;
> import org.apache.ignite.cache.store.jdbc.JdbcType;
> import org.apache.ignite.cache.store.jdbc.JdbcTypeField;
> import org.apache.ignite.cache.store.jdbc.dialect.H2Dialect;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.examples.model.Person;
> import org.apache.ignite.examples.util.DbH2ServerStartup;
> import org.h2.jdbcx.JdbcConnectionPool;
> import javax.cache.configuration.Factory;
> import javax.sql.DataSource;
> import java.sql.Types;
> import java.time.LocalDateTime;
> /**
>  * To start the example, you should:
>  * 
>  * Start H2 database TCP server using {@link DbH2ServerStartup}.
>  * Start example using {@link CacheAutoStoreExample}.
>  * 
>  * 
>  */
> public class CacheJdbcPojoStore {
> private static final String CACHE_NAME = 
> CacheJdbcPojoStore.class.getSimpleName();
> public static void main(String[] args) throws Exception {
> DbH2ServerStartup.populateDatabase();
> try (Ignite ignite = Ignition.start("example-ignite.xml")) {
> System.out.println();
> System.out.println(">>> Cache store example started.");
> try (IgniteCache cache = 
> ignite.getOrCreateCache(cacheConfiguration())) {
> cache.loadCache(null, Long.class.getName(), "SELECT * FROM 
> PERSON WHERE ID = 3");
> System.out.println(cache.get(3L));
> }
> finally {
> ignite.destroyCache(CACHE_NAME);
> }
> }
> }
> private static CacheConfiguration cacheConfiguration() {
> CacheConfiguration cacheCfg = new 
> CacheConfiguration<>(CACHE_NAME);
> cacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
> // Configure JDBC store.
> CacheJdbcPojoStoreFactory factory = new 
> CacheJdbcPojoStoreFactory<>();
> factory.setDialect(new H2Dialect());
> factory.setDataSourceFactory((Factory) () -> {
> return 
> JdbcConnectionPool.create("jdbc:h2:tcp://localhost/mem:ExampleDb", "sa", "");
> });
> JdbcType jdbcType = new JdbcType();
> jdbcType.setCacheName(CACHE_NAME);
> 

[jira] [Created] (IGNITE-20025) Command 'connect defaultNode' throws error

2023-07-23 Thread Dmitry Baranov (Jira)
Dmitry Baranov created IGNITE-20025:
---

 Summary: Command 'connect defaultNode' throws error
 Key: IGNITE-20025
 URL: https://issues.apache.org/jira/browse/IGNITE-20025
 Project: Ignite
  Issue Type: Bug
  Components: cli
Affects Versions: 3.0.0-beta1
Reporter: Dmitry Baranov
 Attachments: image-2023-07-23-16-57-58-225.png

Steps to reproduce the issue

1. from disconnected state execute  
{code:java}
connect{code}
Connected to http://localhost:10300
2. 
{code:java}
disconnect{code}
Disconnected from http://localhost:10300
3.
{code:java}
connect http://localhost:10300{code}
Connected to http://localhost:10300
4. [admin:defaultNode]> 
{code:java}
disconnect{code}
Disconnected from http://localhost:10300
5. [disconnected]> 
{code:java}
connect defaultNode{code}

*Actual:*
Invalid value for positional parameter at index 0 (): Node 
defaultNode not found. Provide valid name or use URL
Usage:  connect [-hv] 
Connects to Ignite 3 node
         URL or name of an Ignite node
  -h, --help            Show help for the specified command
  -v, --verbose         Show additional information: logs, REST calls

{*}Expected{*}: 

Successful connection to the defaultNode




 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)