[jira] [Commented] (IGNITE-15349) Fix feedback #4

2021-08-20 Thread Denis A. Magda (Jira)


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

Denis A. Magda commented on IGNITE-15349:
-

[~igusev] - done!

> Fix feedback #4
> ---
>
> Key: IGNITE-15349
> URL: https://issues.apache.org/jira/browse/IGNITE-15349
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Igor Gusev
>Assignee: Igor Gusev
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> We need to update text on 
> [https://ignite.apache.org/docs/latest/sql-reference/transactions#] to 
> include ROLLBACK command



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15355) Test method corruptDataEntry works incorrecly for in-memory and persistence caches

2021-08-20 Thread Maxim Muzafarov (Jira)
Maxim Muzafarov created IGNITE-15355:


 Summary: Test method corruptDataEntry works incorrecly for 
in-memory and persistence caches
 Key: IGNITE-15355
 URL: https://issues.apache.org/jira/browse/IGNITE-15355
 Project: Ignite
  Issue Type: Test
Reporter: Maxim Muzafarov
Assignee: Maxim Muzafarov
 Fix For: 2.12


There are several issues with the {{corruptDataEntry}} method wich are need to 
be fixed:
- public package for org.apache.ignite.TestStorageUtils#corruptDataEntry needs 
to change to internal
- duplicated code org.apache.ignite.TestStorageUtils#corruptDataEntry and 
org.apache.ignite.util.GridCommandHandlerClusterByClassTest#corruptDataEntry
- corruptDataEntry can't be uses 'as is' for in-memory and persistence caches 
since it has dependency at the {{applyUpdate}} which has meaning only for 
persistence.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15355) Test method corruptDataEntry works incorrecly for in-memory and persistence caches

2021-08-20 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-15355:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Test method corruptDataEntry works incorrecly for in-memory and persistence 
> caches
> --
>
> Key: IGNITE-15355
> URL: https://issues.apache.org/jira/browse/IGNITE-15355
> Project: Ignite
>  Issue Type: Test
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.12
>
>
> There are several issues with the {{corruptDataEntry}} method wich are need 
> to be fixed:
> - public package for org.apache.ignite.TestStorageUtils#corruptDataEntry 
> needs to change to internal
> - duplicated code org.apache.ignite.TestStorageUtils#corruptDataEntry and 
> org.apache.ignite.util.GridCommandHandlerClusterByClassTest#corruptDataEntry
> - corruptDataEntry can't be uses 'as is' for in-memory and persistence caches 
> since it has dependency at the {{applyUpdate}} which has meaning only for 
> persistence.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15354) Investigate Maven Shade plugin capabilities for Guava

2021-08-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-15354:
-
Description: 
Since we want to somehow shade the Guava library into the Ignite 3 project, we 
need to understand if it is possible to do using the Shade plugin 
([https://maven.apache.org/plugins/maven-shade-plugin/)] . In particular, the 
following should be investigated:
 # How to re-write the Guava package names in transitive dependencies (e.g. 
Calcite).
 # How to minimize the shaded JAR (remove unneeded classes to reduce the JAR 
size).

  was:
Since we want to somehow shade the Guava library into the Ignite 3 project, we 
need to investigate if it is possible to do using the Shade plugin 
([https://maven.apache.org/plugins/maven-shade-plugin/)] . In particular, the 
following should be investigated:
 # How to re-write the Guava package names in transitive dependencies (e.g. 
Calcite).
 # How to minimize the shaded JAR (remove unneeded classes to reduce the JAR 
size).


> Investigate Maven Shade plugin capabilities for Guava
> -
>
> Key: IGNITE-15354
> URL: https://issues.apache.org/jira/browse/IGNITE-15354
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
> Fix For: 3.0.0-alpha3
>
>
> Since we want to somehow shade the Guava library into the Ignite 3 project, 
> we need to understand if it is possible to do using the Shade plugin 
> ([https://maven.apache.org/plugins/maven-shade-plugin/)] . In particular, the 
> following should be investigated:
>  # How to re-write the Guava package names in transitive dependencies (e.g. 
> Calcite).
>  # How to minimize the shaded JAR (remove unneeded classes to reduce the JAR 
> size).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15354) Investigate Maven Shade plugin capabilities for Guava

2021-08-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-15354:
-
Summary: Investigate Maven Shade plugin capabilities for Guava  (was: 
Ivestigate Maven Shade plugin capabilities for Guava)

> Investigate Maven Shade plugin capabilities for Guava
> -
>
> Key: IGNITE-15354
> URL: https://issues.apache.org/jira/browse/IGNITE-15354
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
> Fix For: 3.0.0-alpha3
>
>
> Since we want to somehow shade the Guava library into the Ignite 3 project, 
> we need to investigate if it is possible to do using the Shade plugin 
> ([https://maven.apache.org/plugins/maven-shade-plugin/)] . In particular, the 
> following should be investigated:
>  # How to re-write the Guava package names in transitive dependencies (e.g. 
> Calcite).
>  # How to minimize the shaded JAR (remove unneeded classes to reduce the JAR 
> size).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15354) Ivestigate Maven Shade plugin capabilities for Guava

2021-08-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-15354:
-
Description: 
Since we want to somehow shade the Guava library into the Ignite 3 project, we 
need to investigate if it is possible to do using the Shade plugin 
([https://maven.apache.org/plugins/maven-shade-plugin/)] . In particular, the 
following should be investigated:
 # How to re-write the Guava package names in transitive dependencies (e.g. 
Calcite).
 # How to minimize the shaded JAR (remove unneeded classes to reduce the JAR 
size).

> Ivestigate Maven Shade plugin capabilities for Guava
> 
>
> Key: IGNITE-15354
> URL: https://issues.apache.org/jira/browse/IGNITE-15354
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
> Fix For: 3.0.0-alpha3
>
>
> Since we want to somehow shade the Guava library into the Ignite 3 project, 
> we need to investigate if it is possible to do using the Shade plugin 
> ([https://maven.apache.org/plugins/maven-shade-plugin/)] . In particular, the 
> following should be investigated:
>  # How to re-write the Guava package names in transitive dependencies (e.g. 
> Calcite).
>  # How to minimize the shaded JAR (remove unneeded classes to reduce the JAR 
> size).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15354) Ivestigate Maven Shade plugin capabilities for Guava

2021-08-20 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-15354:


 Summary: Ivestigate Maven Shade plugin capabilities for Guava
 Key: IGNITE-15354
 URL: https://issues.apache.org/jira/browse/IGNITE-15354
 Project: Ignite
  Issue Type: Task
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev
 Fix For: 3.0.0-alpha3






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15353) CPP: Ignored loading openssl libraries from OPENSSL_HOME on Windows

2021-08-20 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-15353:
-
Description: 
Currently, logic looks like this 
{code}
libssl = LoadSslLibrary("libssl");

if (!libssl.IsLoaded())
{
libcrypto = LoadSslLibrary("libcrypto-1_1-x64");
libssl = LoadSslLibrary("libssl-1_1-x64");
}

if (!libssl.IsLoaded())
{
libeay32 = LoadSslLibrary("libeay32");
ssleay32 = LoadSslLibrary("ssleay32");
}
{code}

1. First line is for linux, it is ok.
2. Second line has a few problem.
* On 64 bit -- If OPENSSL_HOME contains 1.0.x version of openssl, it is ignored 
and another version is loaded. 
*  On 32 bit -- naming is different, libcrypto-1_1 and libssl-1_1, so loading 
will fail

  was:
Currently, logic looks like this 
{{code}}
libssl = LoadSslLibrary("libssl");

if (!libssl.IsLoaded())
{
libcrypto = LoadSslLibrary("libcrypto-1_1-x64");
libssl = LoadSslLibrary("libssl-1_1-x64");
}

if (!libssl.IsLoaded())
{
libeay32 = LoadSslLibrary("libeay32");
ssleay32 = LoadSslLibrary("ssleay32");
}
{{code}}

1. First line is for linux, it is ok.
2. Second line has a few problem.
* On 64 bit -- If OPENSSL_HOME contains 1.0.x version of openssl, it is ignored 
and another version is loaded. 
*  On 32 bit -- naming is different, libcrypto-1_1 and libssl-1_1, so loading 
will fail


> CPP: Ignored loading openssl libraries from OPENSSL_HOME on Windows
> ---
>
> Key: IGNITE-15353
> URL: https://issues.apache.org/jira/browse/IGNITE-15353
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Daschinsky
>Assignee: Igor Sapego
>Priority: Major
>  Labels: platform
>
> Currently, logic looks like this 
> {code}
> libssl = LoadSslLibrary("libssl");
> if (!libssl.IsLoaded())
> {
> libcrypto = LoadSslLibrary("libcrypto-1_1-x64");
> libssl = LoadSslLibrary("libssl-1_1-x64");
> }
> if (!libssl.IsLoaded())
> {
> libeay32 = LoadSslLibrary("libeay32");
> ssleay32 = LoadSslLibrary("ssleay32");
> }
> {code}
> 1. First line is for linux, it is ok.
> 2. Second line has a few problem.
> * On 64 bit -- If OPENSSL_HOME contains 1.0.x version of openssl, it is 
> ignored and another version is loaded. 
> *  On 32 bit -- naming is different, libcrypto-1_1 and libssl-1_1, so loading 
> will fail



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15353) CPP: Ignored loading openssl libraries from OPENSSL_HOME on Windows

2021-08-20 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-15353:
-
Labels: platform  (was: )

> CPP: Ignored loading openssl libraries from OPENSSL_HOME on Windows
> ---
>
> Key: IGNITE-15353
> URL: https://issues.apache.org/jira/browse/IGNITE-15353
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Daschinsky
>Assignee: Igor Sapego
>Priority: Major
>  Labels: platform
>
> Currently, logic looks like this 
> {{code}}
> libssl = LoadSslLibrary("libssl");
> if (!libssl.IsLoaded())
> {
> libcrypto = LoadSslLibrary("libcrypto-1_1-x64");
> libssl = LoadSslLibrary("libssl-1_1-x64");
> }
> if (!libssl.IsLoaded())
> {
> libeay32 = LoadSslLibrary("libeay32");
> ssleay32 = LoadSslLibrary("ssleay32");
> }
> {{code}}
> 1. First line is for linux, it is ok.
> 2. Second line has a few problem.
> * On 64 bit -- If OPENSSL_HOME contains 1.0.x version of openssl, it is 
> ignored and another version is loaded. 
> *  On 32 bit -- naming is different, libcrypto-1_1 and libssl-1_1, so loading 
> will fail



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15353) CPP: Ignored loading openssl libraries from OPENSSL_HOME on Windows

2021-08-20 Thread Ivan Daschinsky (Jira)
Ivan Daschinsky created IGNITE-15353:


 Summary: CPP: Ignored loading openssl libraries from OPENSSL_HOME 
on Windows
 Key: IGNITE-15353
 URL: https://issues.apache.org/jira/browse/IGNITE-15353
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Daschinsky
Assignee: Igor Sapego


Currently, logic looks like this 
{{code}}
libssl = LoadSslLibrary("libssl");

if (!libssl.IsLoaded())
{
libcrypto = LoadSslLibrary("libcrypto-1_1-x64");
libssl = LoadSslLibrary("libssl-1_1-x64");
}

if (!libssl.IsLoaded())
{
libeay32 = LoadSslLibrary("libeay32");
ssleay32 = LoadSslLibrary("ssleay32");
}
{{code}}

1. First line is for linux, it is ok.
2. Second line has a few problem.
* On 64 bit -- If OPENSSL_HOME contains 1.0.x version of openssl, it is ignored 
and another version is loaded. 
*  On 32 bit -- naming is different, libcrypto-1_1 and libssl-1_1, so loading 
will fail



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14943) testInstallLargeSnapshotWithThrottle is flaky

2021-08-20 Thread Alexey Scherbakov (Jira)


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

Alexey Scherbakov commented on IGNITE-14943:


[~maliev]

LGTM

Merged to master #0983c2a98f510ebbb71d2e4b9f010f64b6174dab

> testInstallLargeSnapshotWithThrottle  is flaky
> --
>
> Key: IGNITE-14943
> URL: https://issues.apache.org/jira/browse/IGNITE-14943
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Scherbakov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Node has failed to caugh up due to timeout by unclear reason.
> https://ci.ignite.apache.org/viewLog.html?buildId=6052568=ignite3_Test_IntegrationTests_IntegrationTests
> UPD: The root cause of the test's flakiness is possible race in  
> {{ThreadId.setError}} method. More details and investigation see in JRaft 
> original repo https://github.com/sofastack/sofa-jraft/issues/664



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15283) Remove duplicated managing of CacheDataStore in offheap manager

2021-08-20 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov commented on IGNITE-15283:


[~mmuzaf], LGTM.

> Remove duplicated managing of CacheDataStore in offheap manager
> ---
>
> Key: IGNITE-15283
> URL: https://issues.apache.org/jira/browse/IGNITE-15283
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> The cache group patition topology provides the same view on created cache 
> data stores. , so managing of data stores in the offeap manager can be 
> omitted.
> {code}
> protected final ConcurrentMap partDataStores = 
> new ConcurrentHashMap<>();
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-11949) Yardstick benchmarks for WAL page snapshot compression

2021-08-20 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-11949:
--

[~alex_pl] Do we need anything else to proceed?

> Yardstick benchmarks for WAL page snapshot compression
> --
>
> Key: IGNITE-11949
> URL: https://issues.apache.org/jira/browse/IGNITE-11949
> Project: Ignite
>  Issue Type: Improvement
>  Components: yardstick
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: iep-20, yardstick
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> WAL page snapshots compression (implemented by IGNITE-11336) can be enabled 
> by modifying config.xml file. It will be better to configure benchmarks by 
> command line options.
> Also, some new probes (WAL size for example) can be added.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-11949) Yardstick benchmarks for WAL page snapshot compression

2021-08-20 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-11949:
-
Fix Version/s: 2.12

> Yardstick benchmarks for WAL page snapshot compression
> --
>
> Key: IGNITE-11949
> URL: https://issues.apache.org/jira/browse/IGNITE-11949
> Project: Ignite
>  Issue Type: Improvement
>  Components: yardstick
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: iep-20, yardstick
> Fix For: 2.12
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> WAL page snapshots compression (implemented by IGNITE-11336) can be enabled 
> by modifying config.xml file. It will be better to configure benchmarks by 
> command line options.
> Also, some new probes (WAL size for example) can be added.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (IGNITE-12349) File transmission can cause the cluster to freeze.

2021-08-20 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin resolved IGNITE-12349.
---
Resolution: Cannot Reproduce

I think this has been fixed in IGNITE-13098.

> File transmission can cause the cluster to freeze.
> --
>
> Key: IGNITE-12349
> URL: https://issues.apache.org/jira/browse/IGNITE-12349
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.8
>Reporter: Pavel Pereslegin
>Assignee: Maxim Muzafarov
>Priority: Critical
>
> When we initiating file transmission - a timeout object with mutable endTime 
> is added to the timeout processor "queue" (see 
> TcpCommunicationSpi#openChannel).
> Since endTime is mutable, a timeout for this object will never occur, 
> moreover, at some point, this object will be the first in the "queue" and 
> TimeoutProcessor will stop working at all.
> Reproducer
> {code:java}
> public class FileTransmissionTimeoutProcessorTest extends 
> GridCommonAbstractTest {
> @After
> public void after() throws Exception {
> cleanPersistenceDir();
> stopAllGrids();
> }
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> return super.getConfiguration(igniteInstanceName)
> .setDataStorageConfiguration(new DataStorageConfiguration()
> .setDefaultDataRegionConfiguration(new 
> DataRegionConfiguration()
> .setPersistenceEnabled(true)
> .setMaxSize(500L * 1024 * 1024)))
> .setCacheConfiguration(new CacheConfiguration Integer>(DEFAULT_CACHE_NAME));
> }
> @Test
> public void testChannelTimeoutObject() throws Exception {
> IgniteEx snd = startGrid(0);
> IgniteEx rcv = startGrid(1);
> // Do some transfer between nodes.
> initiateFileTransfer(snd, rcv);
> GridFutureAdapter fut = new GridFutureAdapter<>();
> // Add new timeout object after file transmission timeout object.
> snd.context().timeout().addTimeoutObject(new 
> GridTimeoutObjectAdapter(DFLT_CONN_TIMEOUT + 1_000) {
> @Override public void onTimeout() {
> fut.onDone(true);
> }
> });
> // The timeout processor will hang on the file transfer timeout 
> object and will never complete the remaining tasks.
> boolean success = fut.get(DFLT_CONN_TIMEOUT + 30_000);
> assertTrue(success);
> }
> /** */
> private void initiateFileTransfer(IgniteEx snd, IgniteEx rcv) throws 
> IOException, IgniteCheckedException, InterruptedException {
> snd.cluster().active(true);
> awaitPartitionMapExchange();
> try (IgniteDataStreamer dataStreamer = 
> snd.dataStreamer(DEFAULT_CACHE_NAME)) {
> dataStreamer.allowOverwrite(true);
> for (int i = 0; i < 10_000; i++)
> dataStreamer.addData(i, i + DEFAULT_CACHE_NAME.hashCode());
> }
> Map fileSizes = new HashMap<>();
> Map fileCrcs = new HashMap<>();
> Map fileParams = new HashMap<>();
> 
> assertTrue(snd.context().io().fileTransmissionSupported(rcv.localNode()));
> File tempStore = U.resolveWorkDirectory(U.defaultWorkDirectory(), 
> "ctmp", true);
> 
> rcv.context().io().addTransmissionHandler(GridTopic.TOPIC_CACHE.topic("test", 
> 0), new TransmissionHandler() {
> @Override public void onException(UUID nodeId, Throwable err) {
> // No-op.
> }
> @Override public String filePath(UUID nodeId, TransmissionMeta 
> fileMeta) {
> return new File(tempStore, fileMeta.name()).getAbsolutePath();
> }
> @Override public Consumer chunkHandler(UUID nodeId, 
> TransmissionMeta initMeta) {
> return null;
> }
> @Override public Consumer fileHandler(UUID nodeId, 
> TransmissionMeta initMeta) {
> return new Consumer() {
> @Override public void accept(File file) {
> assertTrue(fileSizes.containsKey(file.getName()));
> // Save all params.
> fileParams.putAll(initMeta.params());
> }
> };
> }
> });
> IgniteInternalCache defCache = 
> snd.cachex(DEFAULT_CACHE_NAME);
> File cacheDirIg0 = ((FilePageStoreManager)(defCache).context()
> .shared()
> .pageStore()).cacheWorkDir(defCache.configuration());
> File[] cacheParts = cacheDirIg0.listFiles(new FilenameFilter() {
> @Override public boolean accept(File dir, String name) {
> return 

[jira] [Resolved] (IGNITE-14137) Detect and fix failures reasons (nightly runs fails)

2021-08-20 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov resolved IGNITE-14137.
---
Resolution: Fixed

> Detect and fix failures reasons (nightly runs fails)
> 
>
> Key: IGNITE-14137
> URL: https://issues.apache.org/jira/browse/IGNITE-14137
> Project: Ignite
>  Issue Type: Bug
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Blocker
>
> Jenkins runs fails, 1-4 ... 60 tests affected.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14278) Design public Index API

2021-08-20 Thread Maksim Timonin (Jira)


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

Maksim Timonin commented on IGNITE-14278:
-

result is IEP-71

 

https://cwiki.apache.org/confluence/display/IGNITE/IEP-71%3A+Public+API+for+secondary+index+search

> Design public Index API
> ---
>
> Key: IGNITE-14278
> URL: https://issues.apache.org/jira/browse/IGNITE-14278
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>
> There is a feature request - provide opportunity to index non-key fields for 
> non-SQL caches.
> Need to check opportunity to implement it and design API.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (IGNITE-14278) Design public Index API

2021-08-20 Thread Maksim Timonin (Jira)


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

Maksim Timonin resolved IGNITE-14278.
-
Resolution: Resolved

> Design public Index API
> ---
>
> Key: IGNITE-14278
> URL: https://issues.apache.org/jira/browse/IGNITE-14278
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>
> There is a feature request - provide opportunity to index non-key fields for 
> non-SQL caches.
> Need to check opportunity to implement it and design API.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14954) Calcite engine. MONTHNAME, DAYNAME functions fail due to null locale

2021-08-20 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-14954:
---
Labels: calcite3-required  (was: )

> Calcite engine. MONTHNAME, DAYNAME functions fail due to null locale
> 
>
> Key: IGNITE-14954
> URL: https://issues.apache.org/jira/browse/IGNITE-14954
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite3-required
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The query
> {{SELECT MONTHNAME(CAST('1992-05-31' AS DATE));}}
> fails with exception
> {code}
> class org.apache.ignite.IgniteException: Unexpected exception
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:244)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:68)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>   at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: java.lang.NullPointerException: locale
>   at java.base/java.util.Objects.requireNonNull(Objects.java:246)
>   at 
> java.base/java.time.format.DateTimeFormatter.(DateTimeFormatter.java:1421)
>   at 
> java.base/java.time.format.DateTimeFormatter.withLocale(DateTimeFormatter.java:1463)
>   at 
> org.apache.calcite.runtime.SqlFunctions.monthNameWithDate(SqlFunctions.java:2391)
>   at SC.execute(Unknown Source)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactoryImpl$ProjectImpl.apply(ExpressionFactoryImpl.java:387)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.rel.ProjectNode.push(ProjectNode.java:63)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.push(ScanNode.java:107)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:239)
>   ... 4 more
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14597) Calcite engine. Exception when using FIRST

2021-08-20 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov commented on IGNITE-14597:


[~tledkov-gridgain], thanks for the review! Merged to sql-calcite branch.

> Calcite engine. Exception when using FIRST
> --
>
> Key: IGNITE-14597
> URL: https://issues.apache.org/jira/browse/IGNITE-14597
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite2-required, calcite3-required
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Exception is thrown when running a query {{SELECT FIRST(NULL::DECIMAL)}}
> {code:java}
> class org.apache.ignite.IgniteException: Error at: 
> decimal_aggregates.test:10. sql: SELECT FIRST(NULL::DECIMAL)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Query.execute(SqlScriptRunner.java:518)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.run(SqlScriptRunner.java:93)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.ScriptTestRunner$1.run(ScriptTestRunner.java:219)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
> plan query.
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:541)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:398)
>   at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:246)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.sql(SqlScriptRunner.java:111)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.access$600(SqlScriptRunner.java:51)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Query.execute(SqlScriptRunner.java:513)
>   ... 3 more
> Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
> column 8 to line 1, column 27: Function 'FIRST(NULL :: DECIMAL, 0)' can only 
> be used in MATCH_RECOGNIZE
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>   at 
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:467)
>   at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:883)
>   at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:868)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5043)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateCall(SqlValidatorImpl.java:5574)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateCall(IgniteSqlValidator.java:230)
>   at org.apache.calcite.sql.SqlCall.validate(SqlCall.java:116)
>   at org.apache.calcite.sql.SqlNode.validateExpr(SqlNode.java:273)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateExpr(SqlValidatorImpl.java:4259)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:4234)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3474)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateSelect(IgniteSqlValidator.java:176)
>   at 
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
>   at 
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1067)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateNamespace(IgniteSqlValidator.java:190)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1041)
>   at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:232)
>   at 
> 

[jira] [Updated] (IGNITE-14597) Calcite engine. Exception when using FIRST

2021-08-20 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-14597:
---
Labels: calcite3-required  (was: calcite2-required calcite3-required)

> Calcite engine. Exception when using FIRST
> --
>
> Key: IGNITE-14597
> URL: https://issues.apache.org/jira/browse/IGNITE-14597
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite3-required
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Exception is thrown when running a query {{SELECT FIRST(NULL::DECIMAL)}}
> {code:java}
> class org.apache.ignite.IgniteException: Error at: 
> decimal_aggregates.test:10. sql: SELECT FIRST(NULL::DECIMAL)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Query.execute(SqlScriptRunner.java:518)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.run(SqlScriptRunner.java:93)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.ScriptTestRunner$1.run(ScriptTestRunner.java:219)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
> plan query.
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:541)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:398)
>   at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:246)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.sql(SqlScriptRunner.java:111)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.access$600(SqlScriptRunner.java:51)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Query.execute(SqlScriptRunner.java:513)
>   ... 3 more
> Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, 
> column 8 to line 1, column 27: Function 'FIRST(NULL :: DECIMAL, 0)' can only 
> be used in MATCH_RECOGNIZE
>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>   at 
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:467)
>   at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:883)
>   at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:868)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5043)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateCall(SqlValidatorImpl.java:5574)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateCall(IgniteSqlValidator.java:230)
>   at org.apache.calcite.sql.SqlCall.validate(SqlCall.java:116)
>   at org.apache.calcite.sql.SqlNode.validateExpr(SqlNode.java:273)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateExpr(SqlValidatorImpl.java:4259)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:4234)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3474)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateSelect(IgniteSqlValidator.java:176)
>   at 
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
>   at 
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1067)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgniteSqlValidator.validateNamespace(IgniteSqlValidator.java:190)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1041)
>   at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:232)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1016)
>   at 
> 

[jira] [Updated] (IGNITE-15352) Thin 3.0 Perf: Compact scale for decimals.

2021-08-20 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15352:
--
Fix Version/s: 3.0

> Thin 3.0 Perf: Compact scale for decimals.
> --
>
> Key: IGNITE-15352
> URL: https://issues.apache.org/jira/browse/IGNITE-15352
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: iep-76, ignite-3
> Fix For: 3.0
>
>
> We have to write `scale` within the Decimal value.
> Let's write `scale` in VarInt format, as in most cases 1-byte will be 
> sufficient for this.
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15352) Thin 3.0 Perf: Compact scale for decimals.

2021-08-20 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15352:
--
Priority: Minor  (was: Major)

> Thin 3.0 Perf: Compact scale for decimals.
> --
>
> Key: IGNITE-15352
> URL: https://issues.apache.org/jira/browse/IGNITE-15352
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Andrey Mashenkov
>Priority: Minor
>  Labels: iep-76, ignite-3
> Fix For: 3.0
>
>
> We have to write `scale` within the Decimal value.
> Let's write `scale` in VarInt format, as in most cases 1-byte will be 
> sufficient for this.
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15352) Thin 3.0 Perf: Compact scale for decimals.

2021-08-20 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15352:
--
Description: 
We have to write `scale` within the Decimal value.
Let's write `scale` in VarInt format, as in most cases 1-byte will be 
sufficient for this.

https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0

  was:
Add support for custom data types like BitSet, Decimal, Temporal to the Ignite 
3.0 thin client.

https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0


> Thin 3.0 Perf: Compact scale for decimals.
> --
>
> Key: IGNITE-15352
> URL: https://issues.apache.org/jira/browse/IGNITE-15352
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: iep-76, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> We have to write `scale` within the Decimal value.
> Let's write `scale` in VarInt format, as in most cases 1-byte will be 
> sufficient for this.
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15352) Thin 3.0 Perf: Compact scale for decimals.

2021-08-20 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-15352:
--
Fix Version/s: (was: 3.0.0-alpha3)

> Thin 3.0 Perf: Compact scale for decimals.
> --
>
> Key: IGNITE-15352
> URL: https://issues.apache.org/jira/browse/IGNITE-15352
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: iep-76, ignite-3
>
> We have to write `scale` within the Decimal value.
> Let's write `scale` in VarInt format, as in most cases 1-byte will be 
> sufficient for this.
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15352) Thin 3.0 Perf: Compact scale for decimals.

2021-08-20 Thread Andrey Mashenkov (Jira)
Andrey Mashenkov created IGNITE-15352:
-

 Summary: Thin 3.0 Perf: Compact scale for decimals.
 Key: IGNITE-15352
 URL: https://issues.apache.org/jira/browse/IGNITE-15352
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Affects Versions: 3.0.0-alpha3
Reporter: Andrey Mashenkov
Assignee: Andrey Mashenkov
 Fix For: 3.0.0-alpha3


Add support for custom data types like BitSet, Decimal, Temporal to the Ignite 
3.0 thin client.

https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15352) Thin 3.0 Perf: Compact scale for decimals.

2021-08-20 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov reassigned IGNITE-15352:
-

Assignee: (was: Andrey Mashenkov)

> Thin 3.0 Perf: Compact scale for decimals.
> --
>
> Key: IGNITE-15352
> URL: https://issues.apache.org/jira/browse/IGNITE-15352
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: iep-76, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> Add support for custom data types like BitSet, Decimal, Temporal to the 
> Ignite 3.0 thin client.
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15163) Thin 3.0: Add custom data types support

2021-08-20 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov reassigned IGNITE-15163:
-

Assignee: Andrey Mashenkov  (was: Pavel Tupitsyn)

> Thin 3.0: Add custom data types support
> ---
>
> Key: IGNITE-15163
> URL: https://issues.apache.org/jira/browse/IGNITE-15163
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Pavel Tupitsyn
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: iep-76, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> Add support for custom data types like BitSet, Decimal, Temporal to the 
> Ignite 3.0 thin client.
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-76+Thin+Client+Protocol+for+Ignite+3.0



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15351) Research possibility of having caching layer on top of RocksDB partitions

2021-08-20 Thread Ivan Bessonov (Jira)


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

Ivan Bessonov updated IGNITE-15351:
---
Description: 
In Ignite 2.x there's a concept of "Data Regions", which is basically a set of 
fixed-sized in-memory caches that store data for a number of cache groups 
(let's ignore system region and similar stuff for now). It is very convenient 
and represents a core design feature in Apache Ignite - In-Memory Database.

Currently, Page Memory subsystem is not yet ported to Ignite 3.x codebase. 
Instead, there's an implementation based on RocksDB database to store data 
persistently.

But, this implementation is very simple and naive. There's no notion of 
in-memory cache across multiple tables, meaning that it can't be called an 
In-Memory Database. We should investigate ways to add this concept back on top 
of RocksDB implementation.

There are several things to investigate here:
 * how do you set up rocksdb properly and control its memory consumption - we 
should allow some configuration and a meaningful set of defaults;
 * how do you put a cache on top of several rocksdb instances. This is actually 
pretty easy, just use "org.rocksdb.Options#setRowCache(org.rocksdb.Cache)", it 
has LRU and Clock implementations. A way to configure it is still required;
 * how do we introduce data regions into our system? I see something like this:
 ** list of regions is either a node or cluster configuration;
 ** name of the region is a property of every individual table or table group 
(or whatever else we'll be having).

Last proposition is a bit tricky, cause it won't look like "create table with 
rocks engine with Clock cache...", it would look like "create table in region 
Foo". We have to conceptualize all these things and come up with proper naming 
at least.

  was:
In Ignite 2.x there's a concept of "Data Regions", which is basically a set of 
fixed-sized in-memory caches that store data for a number of cache groups 
(let's ignore system region and similar stuff for now). It is very convenient 
and represents a core design feature in Apache Ignite - In-Memory Database.

Currently, Page Memory subsystem is not yet ported to Ignite 3.x codebase. 
Instead, there's an implementation based on RocksDB database to store data 
persistently.

But, this implementation is very simple and naive. There's no notion of 
in-memory cache across multiple tables, meaning that it can't be called an 
In-Memory Database. We should investigate ways to add this concept back on top 
of RocksDB implementation.

There are several things to investigate here:
 * how do you set up rocksdb properly and control its memory consumption - we 
should allow some configuration and a meaningful set of defaults;
 * how do you put a cache on top of several rocksdb instances. This is actually 
pretty easy, just use "org.rocksdb.Options#setRowCache(org.rocksdb.Cache)", but 
a way to configure it is still required;
 * how do we introduce data regions into our system? I see something like this:
 ** list of regions is either a node or cluster configuration;
 ** name of the region is a property of every individual table or table group 
(or whatever else we'll be having).

Last proposition is a bit tricky, cause it won't look like "create table with 
rocks engine with Clock cache...", it would look like "create table in region 
Foo". We have to conceptualize all this things and come up with proper naming 
at least.


> Research possibility of having caching layer on top of RocksDB partitions
> -
>
> Key: IGNITE-15351
> URL: https://issues.apache.org/jira/browse/IGNITE-15351
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Bessonov
>Priority: Major
>  Labels: ignite-3
>
> In Ignite 2.x there's a concept of "Data Regions", which is basically a set 
> of fixed-sized in-memory caches that store data for a number of cache groups 
> (let's ignore system region and similar stuff for now). It is very convenient 
> and represents a core design feature in Apache Ignite - In-Memory Database.
> Currently, Page Memory subsystem is not yet ported to Ignite 3.x codebase. 
> Instead, there's an implementation based on RocksDB database to store data 
> persistently.
> But, this implementation is very simple and naive. There's no notion of 
> in-memory cache across multiple tables, meaning that it can't be called an 
> In-Memory Database. We should investigate ways to add this concept back on 
> top of RocksDB implementation.
> There are several things to investigate here:
>  * how do you set up rocksdb properly and control its memory consumption - we 
> should allow some configuration and a meaningful set of defaults;
>  * how do you put a cache on top of several rocksdb instances. This is 
> actually 

[jira] [Created] (IGNITE-15351) Research possibility of having caching layer on top of RocksDB partitions

2021-08-20 Thread Ivan Bessonov (Jira)
Ivan Bessonov created IGNITE-15351:
--

 Summary: Research possibility of having caching layer on top of 
RocksDB partitions
 Key: IGNITE-15351
 URL: https://issues.apache.org/jira/browse/IGNITE-15351
 Project: Ignite
  Issue Type: Bug
Reporter: Ivan Bessonov


In Ignite 2.x there's a concept of "Data Regions", which is basically a set of 
fixed-sized in-memory caches that store data for a number of cache groups 
(let's ignore system region and similar stuff for now). It is very convenient 
and represents a core design feature in Apache Ignite - In-Memory Database.

Currently, Page Memory subsystem is not yet ported to Ignite 3.x codebase. 
Instead, there's an implementation based on RocksDB database to store data 
persistently.

But, this implementation is very simple and naive. There's no notion of 
in-memory cache across multiple tables, meaning that it can't be called an 
In-Memory Database. We should investigate ways to add this concept back on top 
of RocksDB implementation.

There are several things to investigate here:
 * how do you set up rocksdb properly and control its memory consumption - we 
should allow some configuration and a meaningful set of defaults;
 * how do you put a cache on top of several rocksdb instances. This is actually 
pretty easy, just use "org.rocksdb.Options#setRowCache(org.rocksdb.Cache)", but 
a way to configure it is still required;
 * how do we introduce data regions into our system? I see something like this:
 ** list of regions is either a node or cluster configuration;
 ** name of the region is a property of every individual table or table group 
(or whatever else we'll be having).

Last proposition is a bit tricky, cause it won't look like "create table with 
rocks engine with Clock cache...", it would look like "create table in region 
Foo". We have to conceptualize all this things and come up with proper naming 
at least.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15350) Refactor EncryptedFileIO

2021-08-20 Thread Vladimir Steshin (Jira)


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

Vladimir Steshin updated IGNITE-15350:
--
Description: 
Current EncryptedFileIO has wierd implementations of several methods. Like 
{code:java}
@Override public int write(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}

@Override public int read(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
{code}
Why not supported?

Or: 

{code:java}
@Override public int read(ByteBuffer destBuf) throws IOException {
assert position() == 0;

return plainFileIO.read(destBuf);
}
{code}
Why encrypted reading is not supported beyond the header? Why `assert 
position() == 0`

The class contains several writes and reading implemented differently. Some of 
them are not supported.


*Suggestion:* Make one write(...) and one read(...) implementation and call 
them passing correct arguments. Read/write the header without encryption. 
Read/write everything beyond the header with encryption.


  was:
Current EncryptedFileIO has wierd implementations of several methods. Like 
{code:java}
@Override public int write(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
{code}

@Override public int read(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
Why not supported?

Or: 

{code:java}
@Override public int read(ByteBuffer destBuf) throws IOException {
assert position() == 0;

return plainFileIO.read(destBuf);
}
{code}
Why encrypted reading is not supported beyond the header? Why `assert 
position() == 0`

The class contains several writes and reading implemented differently. Some of 
them are not supported.


*Suggestion:* Make one write(...) and one read(...) implementation and call 
them passing correct arguments. Read/write the header without encryption. 
Read/write everything beyond the header with encryption.



> Refactor EncryptedFileIO
> 
>
> Key: IGNITE-15350
> URL: https://issues.apache.org/jira/browse/IGNITE-15350
> Project: Ignite
>  Issue Type: Task
>Reporter: Vladimir Steshin
>Priority: Minor
>  Labels: newbee
>
> Current EncryptedFileIO has wierd implementations of several methods. Like 
> {code:java}
> @Override public int write(byte[] buf, int off, int len) throws IOException {
> throw new UnsupportedOperationException("Encrypted File doesn't 
> support this operation");
> }
> @Override public int read(byte[] buf, int off, int len) throws 
> IOException {
> throw new UnsupportedOperationException("Encrypted File doesn't 
> support this operation");
> }
> {code}
> Why not supported?
> Or: 
> {code:java}
> @Override public int read(ByteBuffer destBuf) throws IOException {
> assert position() == 0;
> return plainFileIO.read(destBuf);
> }
> {code}
> Why encrypted reading is not supported beyond the header? Why `assert 
> position() == 0`
> The class contains several writes and reading implemented differently. Some 
> of them are not supported.
> *Suggestion:* Make one write(...) and one read(...) implementation and call 
> them passing correct arguments. Read/write the header without encryption. 
> Read/write everything beyond the header with encryption.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14954) Calcite engine. MONTHNAME, DAYNAME functions fail due to null locale

2021-08-20 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky commented on IGNITE-14954:
--

[~alex_pl] Looks good to me.

> Calcite engine. MONTHNAME, DAYNAME functions fail due to null locale
> 
>
> Key: IGNITE-14954
> URL: https://issues.apache.org/jira/browse/IGNITE-14954
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The query
> {{SELECT MONTHNAME(CAST('1992-05-31' AS DATE));}}
> fails with exception
> {code}
> class org.apache.ignite.IgniteException: Unexpected exception
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:244)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:68)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>   at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: java.lang.NullPointerException: locale
>   at java.base/java.util.Objects.requireNonNull(Objects.java:246)
>   at 
> java.base/java.time.format.DateTimeFormatter.(DateTimeFormatter.java:1421)
>   at 
> java.base/java.time.format.DateTimeFormatter.withLocale(DateTimeFormatter.java:1463)
>   at 
> org.apache.calcite.runtime.SqlFunctions.monthNameWithDate(SqlFunctions.java:2391)
>   at SC.execute(Unknown Source)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactoryImpl$ProjectImpl.apply(ExpressionFactoryImpl.java:387)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.rel.ProjectNode.push(ProjectNode.java:63)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.push(ScanNode.java:107)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:239)
>   ... 4 more
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15350) Refactor EncryptedFileIO

2021-08-20 Thread Vladimir Steshin (Jira)


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

Vladimir Steshin updated IGNITE-15350:
--
Description: 
Current EncryptedFileIO has wierd implementations of several methods. Like 
{code:java}
@Override public int write(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
{code}

@Override public int read(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
Why not supported?

Or: 

{code:java}
@Override public int read(ByteBuffer destBuf) throws IOException {
assert position() == 0;

return plainFileIO.read(destBuf);
}
{code}
Why encrypted reading is not supported beyond the header? Why `assert 
position() == 0`

The class contains several writes and reading implemented differently. Some of 
them are not supported.


*Suggestion:* Make one write(...) and one read(...) implementation and call 
them passing correct arguments. Read/write the header without encryption. 
Read/write everything beyond the header with encryption.


  was:
Current EncryptedFileIO has wierd implementations of several methods. Like 
{code:java}
@Override public int write(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
{code}

@Override public int read(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
Why not supported?

Or: 

{code:java}
@Override public int read(ByteBuffer destBuf) throws IOException {
assert position() == 0;

return plainFileIO.read(destBuf);
}
{code}
Why encrypted reading is not supported beyond the header? Why `assert 
position() == 0`

The class contains several writes and reading implemented differently. Some of 
them are not supported.

Suggestion: Make one write(...) and one read(...) implementation and call them 
passing correct arguments. Read/write the header without encryption. Read/write 
everything beyond the header with encryption.



> Refactor EncryptedFileIO
> 
>
> Key: IGNITE-15350
> URL: https://issues.apache.org/jira/browse/IGNITE-15350
> Project: Ignite
>  Issue Type: Task
>Reporter: Vladimir Steshin
>Priority: Minor
>
> Current EncryptedFileIO has wierd implementations of several methods. Like 
> {code:java}
> @Override public int write(byte[] buf, int off, int len) throws IOException {
> throw new UnsupportedOperationException("Encrypted File doesn't 
> support this operation");
> }
> {code}
> @Override public int read(byte[] buf, int off, int len) throws 
> IOException {
> throw new UnsupportedOperationException("Encrypted File doesn't 
> support this operation");
> }
> Why not supported?
> Or: 
> {code:java}
> @Override public int read(ByteBuffer destBuf) throws IOException {
> assert position() == 0;
> return plainFileIO.read(destBuf);
> }
> {code}
> Why encrypted reading is not supported beyond the header? Why `assert 
> position() == 0`
> The class contains several writes and reading implemented differently. Some 
> of them are not supported.
> *Suggestion:* Make one write(...) and one read(...) implementation and call 
> them passing correct arguments. Read/write the header without encryption. 
> Read/write everything beyond the header with encryption.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15350) Refactor EncryptedFileIO

2021-08-20 Thread Vladimir Steshin (Jira)


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

Vladimir Steshin updated IGNITE-15350:
--
Labels: newbee  (was: )

> Refactor EncryptedFileIO
> 
>
> Key: IGNITE-15350
> URL: https://issues.apache.org/jira/browse/IGNITE-15350
> Project: Ignite
>  Issue Type: Task
>Reporter: Vladimir Steshin
>Priority: Minor
>  Labels: newbee
>
> Current EncryptedFileIO has wierd implementations of several methods. Like 
> {code:java}
> @Override public int write(byte[] buf, int off, int len) throws IOException {
> throw new UnsupportedOperationException("Encrypted File doesn't 
> support this operation");
> }
> {code}
> @Override public int read(byte[] buf, int off, int len) throws 
> IOException {
> throw new UnsupportedOperationException("Encrypted File doesn't 
> support this operation");
> }
> Why not supported?
> Or: 
> {code:java}
> @Override public int read(ByteBuffer destBuf) throws IOException {
> assert position() == 0;
> return plainFileIO.read(destBuf);
> }
> {code}
> Why encrypted reading is not supported beyond the header? Why `assert 
> position() == 0`
> The class contains several writes and reading implemented differently. Some 
> of them are not supported.
> *Suggestion:* Make one write(...) and one read(...) implementation and call 
> them passing correct arguments. Read/write the header without encryption. 
> Read/write everything beyond the header with encryption.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15350) Refactor EncryptedFileIO

2021-08-20 Thread Vladimir Steshin (Jira)
Vladimir Steshin created IGNITE-15350:
-

 Summary: Refactor EncryptedFileIO
 Key: IGNITE-15350
 URL: https://issues.apache.org/jira/browse/IGNITE-15350
 Project: Ignite
  Issue Type: Task
Reporter: Vladimir Steshin


Current EncryptedFileIO has wierd implementations of several methods. Like 
{code:java}
@Override public int write(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
{code}

@Override public int read(byte[] buf, int off, int len) throws IOException {
throw new UnsupportedOperationException("Encrypted File doesn't support 
this operation");
}
Why not supported?

Or: 

{code:java}
@Override public int read(ByteBuffer destBuf) throws IOException {
assert position() == 0;

return plainFileIO.read(destBuf);
}
{code}
Why encrypted reading is not supported beyond the header? Why `assert 
position() == 0`

The class contains several writes and reading implemented differently. Some of 
them are not supported.

Suggestion: Make one write(...) and one read(...) implementation and call them 
passing correct arguments. Read/write the header without encryption. Read/write 
everything beyond the header with encryption.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (IGNITE-13558) GridCacheProcessor should implement better parallelization when restoring partition states on startup

2021-08-20 Thread Denis Chudov (Jira)


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

Denis Chudov edited comment on IGNITE-13558 at 8/20/21, 11:11 AM:
--

I added RestorePartitionStateBenchmark into ignite-benchmarks module.

It shows significant difference on a node with non-uniform distribution of 
partitions count in different cache groups between current version and this 
optimization (both approaches). In the same time, none of approaches has an 
advantage, as I expected.

PR with my implementation: [https://github.com/apache/ignite/pull/9243]

PR with alternative approach, task per partition: 
[https://github.com/apache/ignite/pull/9327]

PR for tests of current version: [https://github.com/apache/ignite/pull/9334]

Partition restore times on teamcity:
||PR||Run 1||Run 2||Run 3||
|9243|_795ms_|_804ms_|_935ms_|
|9327|_941ms_|_750ms_|_769ms_|
|9334|_1s515ms_|_1s590ms_|_1s471ms_|


was (Author: denis chudov):
I added RestorePartitionStateBenchmark into ignite-benchmarks module.

It shows significant difference on a node with non-uniform distribution of 
cache group sizes between current version and this optimization (both 
approaches). In the same time, none of approaches has an advantage, as I 
expected.

PR with my implementation: [https://github.com/apache/ignite/pull/9243]

PR with alternative approach, task per partition: 
[https://github.com/apache/ignite/pull/9327]

PR for tests of current version: [https://github.com/apache/ignite/pull/9334]

Partition restore times on teamcity:
||PR||Run 1||Run 2||Run 3||
|9243|_795ms_|_804ms_|_935ms_|
|9327|_941ms_|_750ms_|_769ms_|
|9334|_1s515ms_|_1s590ms_|_1s471ms_|

> GridCacheProcessor should implement better parallelization when restoring 
> partition states on startup
> -
>
> Key: IGNITE-13558
> URL: https://issues.apache.org/jira/browse/IGNITE-13558
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Sergey Chugunov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 3h
>  Remaining Estimate: 0h
>
> GridCacheProcessor#restorePartitionStates method tries to employ striped pool 
> to restore partition states in parallel but level of parallelization is down 
> only to cache group per thread.
> It is not enough and not utilizes resources effectively in case of one cache 
> group much bigger than the others.
> We need to parallel restore process down to individual partitions to get the 
> most from the available resources and speed up node startup.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13558) GridCacheProcessor should implement better parallelization when restoring partition states on startup

2021-08-20 Thread Denis Chudov (Jira)


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

Denis Chudov commented on IGNITE-13558:
---

[~ktkale...@gridgain.com] could you continue the review?

> GridCacheProcessor should implement better parallelization when restoring 
> partition states on startup
> -
>
> Key: IGNITE-13558
> URL: https://issues.apache.org/jira/browse/IGNITE-13558
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Sergey Chugunov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 3h
>  Remaining Estimate: 0h
>
> GridCacheProcessor#restorePartitionStates method tries to employ striped pool 
> to restore partition states in parallel but level of parallelization is down 
> only to cache group per thread.
> It is not enough and not utilizes resources effectively in case of one cache 
> group much bigger than the others.
> We need to parallel restore process down to individual partitions to get the 
> most from the available resources and speed up node startup.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14963) Calcite engine. Date interval arythmetic returns invalid results

2021-08-20 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky commented on IGNITE-14963:
--

[~alex_pl] Looks goot, please proceed with merge

> Calcite engine. Date interval arythmetic returns invalid results
> 
>
> Key: IGNITE-14963
> URL: https://issues.apache.org/jira/browse/IGNITE-14963
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Taras Ledkov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{select date '1992-01-01' + interval (17) days}} - returns {{1992-01-18}} - 
> valid
> {{select date '1992-01-01' + interval (18) days}} - returns {{1992-01-18}} - 
> invalid
> Tests:
> {{function/date/test_extract_month.test}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-11298) TcpCommunicationSpi does not support TLSv1.3

2021-08-20 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev commented on IGNITE-11298:
--

But it's not my comment :) I've just posted it.

мопед не мой

> TcpCommunicationSpi does not support TLSv1.3
> 
>
> Key: IGNITE-11298
> URL: https://issues.apache.org/jira/browse/IGNITE-11298
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 2.7
>Reporter: Ilya Kasnacheev
>Assignee: Vitaliy Biryukov
>Priority: Major
>  Labels: Java11
> Fix For: 2.8
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> When started on Java 11 we cannot form a secure cluster - Discovery will 
> happily use the default TLSv1.3 but Communication will fail with its custom 
> SSLEngine-using code.
> Need to fix that.
> Until that, nodes may be salvaged by setProtocol("TLSv1.2") on 
> SslContextFactory, or by system property -Djdk.tls.client.protocols="TLSv1.2"



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13558) GridCacheProcessor should implement better parallelization when restoring partition states on startup

2021-08-20 Thread Denis Chudov (Jira)


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

Denis Chudov commented on IGNITE-13558:
---

I added RestorePartitionStateBenchmark into ignite-benchmarks module.

It shows significant difference on a node with non-uniform distribution of 
cache group sizes between current version and this optimization (both 
approaches). In the same time, none of approaches has an advantage, as I 
expected.

PR with my implementation: [https://github.com/apache/ignite/pull/9243]

PR with alternative approach, task per partition: 
[https://github.com/apache/ignite/pull/9327]

PR for tests of current version: [https://github.com/apache/ignite/pull/9334]

Partition restore times on teamcity:
||PR||Run 1||Run 2||Run 3||
|9243|_795ms_|_804ms_|_935ms_|
|9327|_941ms_|_750ms_|_769ms_|
|9334|_1s515ms_|_1s590ms_|_1s471ms_|

> GridCacheProcessor should implement better parallelization when restoring 
> partition states on startup
> -
>
> Key: IGNITE-13558
> URL: https://issues.apache.org/jira/browse/IGNITE-13558
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Sergey Chugunov
>Assignee: Denis Chudov
>Priority: Major
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> GridCacheProcessor#restorePartitionStates method tries to employ striped pool 
> to restore partition states in parallel but level of parallelization is down 
> only to cache group per thread.
> It is not enough and not utilizes resources effectively in case of one cache 
> group much bigger than the others.
> We need to parallel restore process down to individual partitions to get the 
> most from the available resources and speed up node startup.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15349) Fix feedback #4

2021-08-20 Thread Igor Gusev (Jira)


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

Igor Gusev commented on IGNITE-15349:
-

[~dma...@apache.org] Can you merge the PR? It fixes the feedback issue in doc.

> Fix feedback #4
> ---
>
> Key: IGNITE-15349
> URL: https://issues.apache.org/jira/browse/IGNITE-15349
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Igor Gusev
>Assignee: Igor Gusev
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We need to update text on 
> [https://ignite.apache.org/docs/latest/sql-reference/transactions#] to 
> include ROLLBACK command



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15349) Fix feedback #4

2021-08-20 Thread Igor Gusev (Jira)
Igor Gusev created IGNITE-15349:
---

 Summary: Fix feedback #4
 Key: IGNITE-15349
 URL: https://issues.apache.org/jira/browse/IGNITE-15349
 Project: Ignite
  Issue Type: Improvement
Reporter: Igor Gusev


We need to update text on 
[https://ignite.apache.org/docs/latest/sql-reference/transactions#] to include 
ROLLBACK command



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15349) Fix feedback #4

2021-08-20 Thread Igor Gusev (Jira)


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

Igor Gusev reassigned IGNITE-15349:
---

Assignee: Igor Gusev

> Fix feedback #4
> ---
>
> Key: IGNITE-15349
> URL: https://issues.apache.org/jira/browse/IGNITE-15349
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Igor Gusev
>Assignee: Igor Gusev
>Priority: Major
>
> We need to update text on 
> [https://ignite.apache.org/docs/latest/sql-reference/transactions#] to 
> include ROLLBACK command



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15348) Checkstyle should check whitespace after cast token.

2021-08-20 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-15348:

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

> Checkstyle should check whitespace after cast token. 
> -
>
> Key: IGNITE-15348
> URL: https://issues.apache.org/jira/browse/IGNITE-15348
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Priority: Major
>  Labels: newbie
>
> According to Ignite code style [1]  there shouldn't a whitespace after the 
> ")" token. Let's add check for that.
>  
> Solution is add the TYPECAST token to the NoWhitespaceAfter  module
> 
>  
> 
>  
> Also it is required to fix all issues within repo.
>  
> [1] 
> https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-Whitespacesandemptylines



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15348) Checkstyle should check whitespace after cast token.

2021-08-20 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-15348:

Labels: newbie  (was: )

> Checkstyle should check whitespace after cast token. 
> -
>
> Key: IGNITE-15348
> URL: https://issues.apache.org/jira/browse/IGNITE-15348
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Priority: Major
>  Labels: newbie
>
> According to Ignite code style [1]  there shouldn't a whitespace after the 
> ")" token. Let's add check for that.
>  
> Solution is add the TYPECAST token to the NoWhitespaceAfter  module
> 
>  
> 
>  
> Also it is required to fix all issues within repo.
>  
> [1] 
> https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-Whitespacesandemptylines



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15109) Calcite engine. TIMESTAMPDIFF for MICROSECOND unit doesn't work

2021-08-20 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov reassigned IGNITE-15109:
--

Assignee: Aleksey Plekhanov

> Calcite engine. TIMESTAMPDIFF for MICROSECOND unit doesn't work
> ---
>
> Key: IGNITE-15109
> URL: https://issues.apache.org/jira/browse/IGNITE-15109
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Yury Gerzhedovich
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite2-required, calcite3-required
>
> The function TIMESTAMPDIFF for MICROSECOND unit return incorrect results for 
> many cases. As the example below returns 0.
> {code:sql}
> SELECT TIMESTAMPDIFF(MICROSECOND, TIMESTAMP '2022-02-01 10:30:28.000', 
> TIMESTAMP '2022-02-01 10:30:28.128'){code}
> see src/test/sql/function/timestamp/test_timestampdiff.test_ignore



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15348) Checkstyle should check whitespace after cast token.

2021-08-20 Thread Maksim Timonin (Jira)
Maksim Timonin created IGNITE-15348:
---

 Summary: Checkstyle should check whitespace after cast token. 
 Key: IGNITE-15348
 URL: https://issues.apache.org/jira/browse/IGNITE-15348
 Project: Ignite
  Issue Type: New Feature
Reporter: Maksim Timonin


According to Ignite code style [1]  there shouldn't a whitespace after the ")" 
token. Let's add check for that.

 

Solution is add the TYPECAST token to the NoWhitespaceAfter  module


 


 

Also it is required to fix all issues within repo.

 

[1] 
https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-Whitespacesandemptylines



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15278) Node start/stop refactoring

2021-08-20 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-15278:
-
Description: 
[~ibessonov] suggested simplifying the node start logic by:
 *  Transferring the startup components management logic from IgnititionImpl to 
IgniteImpl.
 * Separating the logic of constructing and starting components even more: it 
is suggested to instantiate all the components first, and then start all of 
them.

During implementation it occurred that the ClusterService constructor assumes 
that nodeConfiguarion is already started. In order to satisfy the need of 
full-construct-then-start-logic 
org.apache.ignite.network.ClusterServiceFactory#createClusterService was 
updated:
 # Instead of port parameter within CluserLocalConfiguration 
ClusterServiceFactory#createClusterService accepts nodeConfiguration.
 # Instead of NodeFinder that also depends on nodeConfiguration 
ClusterServiceFactory#createClusterService accepts node finder supplier.

  was:
[~ibessonov] suggested simplifying the node start logic by:
*  Transferring the startup components management logic from IgnititionImpl to 
IgniteImpl.
* Separating the logic of constructing and starting components even more. It is 
suggested to instantiate all the components first, and then start all of them.

During implementation it occurred that the ClusterService constructor assumes 
that nodeConfiguarion is already started. In order to satisfy the need of 
full-construct-then-start-logic 
org.apache.ignite.network.ClusterServiceFactory#createClusterService was 
updated:
# Instead of port parameter within CluserLocalConfiguration 
ClusterServiceFactory#createClusterService accepts nodeConfiguration.
# Instead of NodeFinder that also depends on nodeConfiguration 
ClusterServiceFactory#createClusterService accepts node finder supplier.


> Node start/stop refactoring
> ---
>
> Key: IGNITE-15278
> URL: https://issues.apache.org/jira/browse/IGNITE-15278
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> [~ibessonov] suggested simplifying the node start logic by:
>  *  Transferring the startup components management logic from IgnititionImpl 
> to IgniteImpl.
>  * Separating the logic of constructing and starting components even more: it 
> is suggested to instantiate all the components first, and then start all of 
> them.
> During implementation it occurred that the ClusterService constructor assumes 
> that nodeConfiguarion is already started. In order to satisfy the need of 
> full-construct-then-start-logic 
> org.apache.ignite.network.ClusterServiceFactory#createClusterService was 
> updated:
>  # Instead of port parameter within CluserLocalConfiguration 
> ClusterServiceFactory#createClusterService accepts nodeConfiguration.
>  # Instead of NodeFinder that also depends on nodeConfiguration 
> ClusterServiceFactory#createClusterService accepts node finder supplier.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15278) Node start/stop refactoring

2021-08-20 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-15278:
-
Description: 
[~ibessonov] suggested simplifying the node start logic by:
 *  Transferring the startup components management logic from IgnititionImpl to 
IgniteImpl.
 * Separating the logic of constructing and starting components even more: it 
is suggested to instantiate all the components first, and then start all of 
them.

During the implementation it occurred that the ClusterService constructor 
assumes that nodeConfiguarion is already started. In order to satisfy the need 
of full-construct-then-start-logic 
org.apache.ignite.network.ClusterServiceFactory#createClusterService was 
updated:
 # Instead of port parameter within CluserLocalConfiguration 
ClusterServiceFactory#createClusterService accepts nodeConfiguration.
 # Instead of NodeFinder that also depends on nodeConfiguration 
ClusterServiceFactory#createClusterService accepts node finder supplier.

  was:
[~ibessonov] suggested simplifying the node start logic by:
 *  Transferring the startup components management logic from IgnititionImpl to 
IgniteImpl.
 * Separating the logic of constructing and starting components even more: it 
is suggested to instantiate all the components first, and then start all of 
them.

During implementation it occurred that the ClusterService constructor assumes 
that nodeConfiguarion is already started. In order to satisfy the need of 
full-construct-then-start-logic 
org.apache.ignite.network.ClusterServiceFactory#createClusterService was 
updated:
 # Instead of port parameter within CluserLocalConfiguration 
ClusterServiceFactory#createClusterService accepts nodeConfiguration.
 # Instead of NodeFinder that also depends on nodeConfiguration 
ClusterServiceFactory#createClusterService accepts node finder supplier.


> Node start/stop refactoring
> ---
>
> Key: IGNITE-15278
> URL: https://issues.apache.org/jira/browse/IGNITE-15278
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> [~ibessonov] suggested simplifying the node start logic by:
>  *  Transferring the startup components management logic from IgnititionImpl 
> to IgniteImpl.
>  * Separating the logic of constructing and starting components even more: it 
> is suggested to instantiate all the components first, and then start all of 
> them.
> During the implementation it occurred that the ClusterService constructor 
> assumes that nodeConfiguarion is already started. In order to satisfy the 
> need of full-construct-then-start-logic 
> org.apache.ignite.network.ClusterServiceFactory#createClusterService was 
> updated:
>  # Instead of port parameter within CluserLocalConfiguration 
> ClusterServiceFactory#createClusterService accepts nodeConfiguration.
>  # Instead of NodeFinder that also depends on nodeConfiguration 
> ClusterServiceFactory#createClusterService accepts node finder supplier.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)