[
https://issues.apache.org/jira/browse/IGNITE-5270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Igor Rudyak reassigned IGNITE-5270:
---
Assignee: Igor Rudyak
> Cassandra store should support binary objects with POJO strategy
>
>
> Key: IGNITE-5270
> URL: https://issues.apache.org/jira/browse/IGNITE-5270
> Project: Ignite
> Issue Type: Improvement
> Components: cassandra
>Affects Versions: 2.0
>Reporter: Valentin Kulichenko
>Assignee: Igor Rudyak
> Fix For: 2.2
>
>
> Currently Cassandra store requires to have POJO classes on server nodes when
> POJO strategy is used. We should improve it and allow to support binary
> objects directly.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-4950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025826#comment-16025826
]
Igor Rudyak commented on IGNITE-4950:
-
Hi guys,
Sorry for the late response, but this implementation brakes Cassandra module
and backward compatibility with old deployments. It no longer supports POJO
classes having "getters" annotated with @AffinityKeyMapped
> Do not allow AffinityKeyMapped annotation on methods
>
>
> Key: IGNITE-4950
> URL: https://issues.apache.org/jira/browse/IGNITE-4950
> Project: Ignite
> Issue Type: Task
> Components: cache
>Reporter: Vladimir Ozerov
>Assignee: Konstantin Dudkov
> Labels: important
> Fix For: 2.0
>
>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025823#comment-16025823
]
Igor Rudyak commented on IGNITE-5036:
-
Hi guys,
Sorry for the late response, but this implementation brakes Cassandra module
and backward compatibility with old deployments. It no longer supports POJO
classes having "getters" annotated with @QuerySqlField
> Disallow @QuerySqlField and @QueryTextField on methods
> --
>
> Key: IGNITE-5036
> URL: https://issues.apache.org/jira/browse/IGNITE-5036
> Project: Ignite
> Issue Type: Bug
> Components: sql
>Reporter: Vladimir Ozerov
>Assignee: Taras Ledkov
> Fix For: 2.0
>
>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025807#comment-16025807
]
Chris Wang commented on IGNITE-5204:
I do execute the SQL query via the SqlFieldQuery provided in .NET ignite api
and it is continuously hanging when indexed field have Chinese character in its
value. Did your automatically testing is based on .net api? or is there any
possibility that the .net api have same behavior like H2 debug console?
> The Unicode character in the value of a field which are included in an
> un-unique index will cause "stack overhead" exception
>
>
> Key: IGNITE-5204
> URL: https://issues.apache.org/jira/browse/IGNITE-5204
> Project: Ignite
> Issue Type: Bug
> Components: cache, sql
>Affects Versions: 2.0
> Environment: windows server 2012, JDK 1.8, X64
>Reporter: Chris Wang
>Assignee: Sergey Kalashnikov
>Priority: Critical
> Fix For: 2.1
>
>
> When put "草DX009090" as the value of BillId, which is a field of entity
> Bill. If I define a index includes the BillId, and execute the query like
> "select * from Bill where BillId=’草DX009090‘ in the H2 debug console, there
> throws an exception by the H2 with a code 5000.
> another scenario is, I have two entities, "Bill" and "Detail", both have
> field "BillId". If either of them have value like "草DX009090" and execute the
> query like "select bill.* from bill left join detail on
> bill.billid=detail.billid", the whole ignite cache node will halt ( suppose
> there should be an stack overhead exception, dead loop).
> ==
> I think the issue should relate to hash computing on the unicode character.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
Vasiliy Sisko created IGNITE-5296:
-
Summary: Web console: Wrong queries list on clear of cookies
Key: IGNITE-5296
URL: https://issues.apache.org/jira/browse/IGNITE-5296
Project: Ignite
Issue Type: Bug
Reporter: Vasiliy Sisko
# Create some queries lists.
# Clear all cookies
# Refresh page and login.
After login list of queries showed as empty. It is sowed after refresh.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
Denis Magda created IGNITE-5295:
---
Summary: NPE when Persistent Store is used and Memory
Configuration is missing
Key: IGNITE-5295
URL: https://issues.apache.org/jira/browse/IGNITE-5295
Project: Ignite
Issue Type: Bug
Reporter: Denis Magda
Assignee: Alexey Goncharuk
Priority: Blocker
Fix For: 2.1
Just added the first Persistent Store example to the branch that fosters the
donation:
https://github.com/apache/ignite/tree/ignite-5267/examples/src/main/java/org/apache/ignite/examples/persistentstore
However, the example fails with an NPE if a MemoryConfiguration is not defined
explicitly.
{code}
[17:55:39,334][ERROR][main][IgniteKernal] Exception during start processors,
node will be stopped and close connections
class org.apache.ignite.IgniteCheckedException: Failed to start processor:
GridProcessorAdapter []
at
org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1766)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:925)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1895)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1075)
at
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:993)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:879)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:778)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:648)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:617)
at org.apache.ignite.Ignition.start(Ignition.java:347)
at
org.apache.ignite.examples.persistentstore.PersistentStoreExample.main(PersistentStoreExample.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to create
Ignite component (consider adding ignite-pds module to classpath)
[component=DATABASE_MANAGER,
cls=org.apache.ignite.internal.processors.cache.database.GridCacheDatabaseSharedManager]
at
org.apache.ignite.internal.IgniteComponentType.componentException(IgniteComponentType.java:335)
at
org.apache.ignite.internal.IgniteComponentType.create0(IgniteComponentType.java:311)
at
org.apache.ignite.internal.IgniteComponentType.create(IgniteComponentType.java:186)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.createSharedContext(GridCacheProcessor.java:2078)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.start(GridCacheProcessor.java:632)
at
org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1763)
... 16 more
Caused by: java.lang.reflect.InvocationTargetException
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.ignite.internal.IgniteComponentType.create0(IgniteComponentType.java:307)
... 20 more
Caused by: java.lang.NullPointerException
at
org.apache.ignite.internal.processors.cache.database.GridCacheDatabaseSharedManager.(GridCacheDatabaseSharedManager.java:284)
... 25 more
[17:55:39,338][ERROR][main][IgniteKernal] Got exception while starting (will
rollback startup routine).
class org.apache.ignite.IgniteCheckedException: Failed to start processor:
GridProcessorAdapter []
at
org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1766)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:925)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1895)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1075)
at
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:993)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:879)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:778)
at
[
https://issues.apache.org/jira/browse/IGNITE-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025594#comment-16025594
]
Andrey Gura commented on IGNITE-5283:
-
There are failed tests. Investigation in progress.
> Transaction recovery works incorrectly with cache store and writeThrough
> enabled
>
>
> Key: IGNITE-5283
> URL: https://issues.apache.org/jira/browse/IGNITE-5283
> Project: Ignite
> Issue Type: Bug
> Components: cache
>Affects Versions: 1.7
>Reporter: Andrey Gura
>Assignee: Andrey Gura
> Fix For: 2.1
>
>
> Transaction (at least optimistic) recovery on backups works incorrectly when
> cache store and writeThrough enabled. Changes aren't propagated to DB (it's
> correct) but propagated to cache if primary node left topology.
> It happens because {{IgniteTxRemoteStateAdapter.storeUsed()}} method always
> returns {{false}}. As result incorrect code branch executes in
> {{NodeFailureTimeoutObject.onTimeout0()}} method ({{salvageTx()}} method
> should be invoked).
> *Steps to reproduce*:
> - Start two nodes A and B with cache. Cache store and writeThrough are anbled.
> - From node A start optimistic transaction which executes put/update
> operation for key. Node A should be primary for this key.
> - Kill node A when {{CacheStore.sessionEnd()}} method is invoked but changes
> are not propagated to underlying database (before commit on connection).
> - DB doesn't contain changes but node B contains it.
> *Expected behaviour:*
> All changes should be rolled back.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Magda updated IGNITE-5294:
Description:
Document the Persistent Store. Use these wiki pages as reference:
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
Pages to fill out or update:
* Enhance the data loading page:
https://apacheignite.readme.io/v2.0/docs/data-loading
* Rework the existing persistent store page:
https://apacheignite.readme.io/v2.0/docs/persistent-store
* Create the page for the Ignite's distributed persistent store:
https://apacheignite.readme.io/v2.0/docs/distributed-persistent-store
* Create an overview page. Describe the difference between all the storages
Ignite supports.
* Add a link to Hadoop as a persistent store alternative.
* Update the page memory documentation adding a paragraph about the persistent
store: https://apacheignite.readme.io/v2.0/docs/page-memory
* Update the eviction documentation telling more about the persistent store:
https://apacheignite.readme.io/v2.0/docs/evictions
was:
Document the Persistent Store. Use these wiki pages as reference:
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
Pages to fill out or update:
* Enhance the data loading page:
https://apacheignite.readme.io/v2.0/docs/data-loading
* Rework the existing persistent store page:
https://apacheignite.readme.io/v2.0/docs/persistent-store
* Create the page for the Ignite's distributed persistent store:
https://apacheignite.readme.io/v2.0/docs/distributed-persistent-store
* Create an overview page. Describe the difference between all the storages
Ignite supports.
* Add a link to Hadoop as a persistent store alternative.
> Document Persistent Store
> -
>
> Key: IGNITE-5294
> URL: https://issues.apache.org/jira/browse/IGNITE-5294
> Project: Ignite
> Issue Type: Sub-task
>Reporter: Denis Magda
>Assignee: Denis Magda
> Fix For: 2.1
>
>
> Document the Persistent Store. Use these wiki pages as reference:
> https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
> https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
> Pages to fill out or update:
> * Enhance the data loading page:
> https://apacheignite.readme.io/v2.0/docs/data-loading
> * Rework the existing persistent store page:
> https://apacheignite.readme.io/v2.0/docs/persistent-store
> * Create the page for the Ignite's distributed persistent store:
> https://apacheignite.readme.io/v2.0/docs/distributed-persistent-store
> * Create an overview page. Describe the difference between all the storages
> Ignite supports.
> * Add a link to Hadoop as a persistent store alternative.
> * Update the page memory documentation adding a paragraph about the
> persistent store: https://apacheignite.readme.io/v2.0/docs/page-memory
> * Update the eviction documentation telling more about the persistent store:
> https://apacheignite.readme.io/v2.0/docs/evictions
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Magda updated IGNITE-5294:
Description:
Document the Persistent Store. Use these wiki pages as reference:
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
Pages to fill out or update:
* Enhance the data loading page:
https://apacheignite.readme.io/v2.0/docs/data-loading
* Rework the existing persistent store page:
https://apacheignite.readme.io/v2.0/docs/persistent-store
* Create the page for the Ignite's distributed persistent store:
https://apacheignite.readme.io/v2.0/docs/distributed-persistent-store
* Create an overview page. Describe the difference between all the storages
Ignite supports.
* Add a link to Hadoop as a persistent store alternative.
was:
Document the Persistent Store. Use these wiki pages as reference:
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
> Document Persistent Store
> -
>
> Key: IGNITE-5294
> URL: https://issues.apache.org/jira/browse/IGNITE-5294
> Project: Ignite
> Issue Type: Sub-task
>Reporter: Denis Magda
>Assignee: Denis Magda
> Fix For: 2.1
>
>
> Document the Persistent Store. Use these wiki pages as reference:
> https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
> https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
> Pages to fill out or update:
> * Enhance the data loading page:
> https://apacheignite.readme.io/v2.0/docs/data-loading
> * Rework the existing persistent store page:
> https://apacheignite.readme.io/v2.0/docs/persistent-store
> * Create the page for the Ignite's distributed persistent store:
> https://apacheignite.readme.io/v2.0/docs/distributed-persistent-store
> * Create an overview page. Describe the difference between all the storages
> Ignite supports.
> * Add a link to Hadoop as a persistent store alternative.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
Denis Magda created IGNITE-5294:
---
Summary: Document Persistent Store
Key: IGNITE-5294
URL: https://issues.apache.org/jira/browse/IGNITE-5294
Project: Ignite
Issue Type: Sub-task
Reporter: Denis Magda
Assignee: Denis Magda
Document the Persistent Store. Use these wiki pages as reference:
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Overview
https://cwiki.apache.org/confluence/display/IGNITE/Persistent+Store+Internal+Design
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16025354#comment-16025354
]
Andrew Mashenkov commented on IGNITE-5290:
--
[~ntikhonov], is it duplicate of IGNITE-4939 ?
Looks like it is fixed, but not merged to master.
> Events might be missed during concurrent CQ registration and cache operations
> -
>
> Key: IGNITE-5290
> URL: https://issues.apache.org/jira/browse/IGNITE-5290
> Project: Ignite
> Issue Type: Bug
>Affects Versions: 2.0
>Reporter: Nikolay Tikhonov
> Attachments: test.patch
>
>
> Events might be missed during concurrent CQ registration and cache
> operations. See attached test.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexei Scherbakov updated IGNITE-5293:
--
Affects Version/s: 2.0
Fix Version/s: 2.2
> Replicated cache performance degradation.
> -
>
> Key: IGNITE-5293
> URL: https://issues.apache.org/jira/browse/IGNITE-5293
> Project: Ignite
> Issue Type: Bug
> Components: cache
>Affects Versions: 2.0
>Reporter: Alexei Scherbakov
> Fix For: 2.2
>
>
> With increase in number of nodes puts to replicated cache are slowed down
> almost in the same proportion.
> Unit test reproducer:
> {noformat}
> /*
> * Licensed to the Apache Software Foundation (ASF) under one or more
> * contributor license agreements. See the NOTICE file distributed with
> * this work for additional information regarding copyright ownership.
> * The ASF licenses this file to You under the Apache License, Version 2.0
> * (the "License"); you may not use this file except in compliance with
> * the License. You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> */
> package org.apache.ignite.internal.processors.cache.distributed.replicated;
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.cache.CacheWriteSynchronizationMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> import org.apache.ignite.configuration.MemoryConfiguration;
> import org.apache.ignite.internal.IgniteEx;
> import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
> import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
> import org.apache.ignite.transactions.Transaction;
> import org.apache.ignite.transactions.TransactionConcurrency;
> import org.apache.ignite.transactions.TransactionIsolation;
> /**
> * Tests replicated cache performance .
> */
> public class GridCacheReplicatedTransactionalDegradationTest extends
> GridCommonAbstractTest {
> /** Keys. */
> private static final int KEYS = 100_000;
> @Override protected IgniteConfiguration getConfiguration(String gridName)
> throws Exception {
> IgniteConfiguration cfg = super.getConfiguration(gridName);
> cfg.setClientMode(gridName.startsWith("client"));
> CacheConfiguration ccfg = new CacheConfiguration();
> ccfg.setCacheMode(CacheMode.REPLICATED);
> ccfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
>
> ccfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
> ccfg.setName("test");
> cfg.setCacheConfiguration(ccfg);
> return cfg;
> }
> /** */
> public void testThroughput() throws Exception {
> try {
> IgniteEx grid0 = startGrid(0);
> Ignite client = startGrid("client");
> IgniteCache
Alexei Scherbakov created IGNITE-5293:
-
Summary: Replicated cache performance degradation.
Key: IGNITE-5293
URL: https://issues.apache.org/jira/browse/IGNITE-5293
Project: Ignite
Issue Type: Bug
Components: cache
Reporter: Alexei Scherbakov
With increase in number of nodes puts to replicated cache are slowed down
almost in the same proportion.
Unit test reproducer:
{noformat}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ignite.internal.processors.cache.distributed.replicated;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.CacheWriteSynchronizationMode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.MemoryConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
/**
* Tests replicated cache performance .
*/
public class GridCacheReplicatedTransactionalDegradationTest extends
GridCommonAbstractTest {
/** Keys. */
private static final int KEYS = 100_000;
@Override protected IgniteConfiguration getConfiguration(String gridName)
throws Exception {
IgniteConfiguration cfg = super.getConfiguration(gridName);
cfg.setClientMode(gridName.startsWith("client"));
CacheConfiguration ccfg = new CacheConfiguration();
ccfg.setCacheMode(CacheMode.REPLICATED);
ccfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
ccfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
ccfg.setName("test");
cfg.setCacheConfiguration(ccfg);
return cfg;
}
/** */
public void testThroughput() throws Exception {
try {
IgniteEx grid0 = startGrid(0);
Ignite client = startGrid("client");
IgniteCache cache = client.getOrCreateCache("test");
doTest(client, cache);
startGrid(1);
doTest(client, cache);
startGrid(2);
doTest(client, cache);
} finally {
stopAllGrids();
}
}
/**
* @param client
* @param cache Cache.
*/
private void doTest(Ignite client, IgniteCache cache) {
long t1 = System.currentTimeMillis();
for (int i = 0; i < KEYS; i++) {
try (Transaction tx =
client.transactions().txStart(TransactionConcurrency.PESSIMISTIC,
TransactionIsolation.REPEATABLE_READ)) {
cache.put(i, i);
tx.commit();
}
}
log.info("TPS: " + Math.round(KEYS / (float)(System.currentTimeMillis()
- t1) * 1000));
}
}
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-5250:
Component/s: sql
> Unhelpful exception when value of wrong type is passed to H2
>
>
> Key: IGNITE-5250
> URL: https://issues.apache.org/jira/browse/IGNITE-5250
> Project: Ignite
> Issue Type: Task
> Components: sql
>Affects Versions: 2.0
>Reporter: Denis Magda
>Assignee: Sergi Vladykin
> Labels: important
> Fix For: 2.1
>
> Attachments: ExampleNodeStartup.java
>
>
> For instance, if an SQL schema defined this way:
> {code}
> cfg.setIndexedTypes(AffinityKey.class, Person.class);
> {code}
> and then, by some reason, the users confuses the type of the key passing
> {{int}} instead of {{AffinityKey}}
> {code}
> SqlFieldsQuery query = new SqlFieldsQuery("INSERT INTO Person (_key,
> id, name, country ) " +
> "VALUES ( ? , ? , ? , ?)");
> // Setting the key of a wrong type (AffinityKey instance must be used
> instead).
> query.setArgs(100, 1000, "John", "Canada");
> // Getting not user friendly exception.
> cache.query(query).getAll();
> {code}
> he will get an exception that doesn't point out to the exact root cause:
> {noformat}
> Caused by: class org.apache.ignite.IgniteException: Failed to execute SQL
> query.
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$3.iterator(DmlStatementsProcessor.java:365)
> at
> org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:94)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.doInsert(DmlStatementsProcessor.java:836)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.executeUpdateStatement(DmlStatementsProcessor.java:378)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFields(DmlStatementsProcessor.java:173)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFieldsTwoStep(DmlStatementsProcessor.java:207)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1657)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1701)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1699)
> at
> org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2129)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1706)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:783)
> ... 6 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute
> SQL query.
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:1224)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1276)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.access$1300(IgniteH2Indexing.java:239)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$4.iterator(IgniteH2Indexing.java:1079)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$4.iterator(IgniteH2Indexing.java:1067)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$3.iterator(DmlStatementsProcessor.java:362)
> ... 18 more
> Caused by: org.h2.jdbc.JdbcSQLException: Hexadecimal string with odd number
> of characters: "100"; SQL statement:
> SELECT
> TABLE._KEY,
> TABLE.ID,
> TABLE.NAME,
> TABLE.COUNTRY
> FROM TABLE(_KEY OTHER=(?1,), ID BIGINT=(?2,), NAME VARCHAR=(?3,), COUNTRY
> VARCHAR=(?4,)) [90003-195]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
> at org.h2.message.DbException.get(DbException.java:179)
> at org.h2.message.DbException.get(DbException.java:155)
> at org.h2.util.StringUtils.convertHexToBytes(StringUtils.java:930)
> at org.h2.value.Value.convertTo(Value.java:957)
> at org.h2.table.Column.convert(Column.java:167)
> at org.h2.expression.TableFunction.getTable(TableFunction.java:118)
> at org.h2.expression.TableFunction.getValue(TableFunction.java:41)
> at org.h2.table.FunctionTable.getValueResultSet(FunctionTable.java:218)
> at
[
https://issues.apache.org/jira/browse/IGNITE-5250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-5250:
Labels: important (was: )
> Unhelpful exception when value of wrong type is passed to H2
>
>
> Key: IGNITE-5250
> URL: https://issues.apache.org/jira/browse/IGNITE-5250
> Project: Ignite
> Issue Type: Task
> Components: sql
>Affects Versions: 2.0
>Reporter: Denis Magda
>Assignee: Sergi Vladykin
> Labels: important
> Fix For: 2.1
>
> Attachments: ExampleNodeStartup.java
>
>
> For instance, if an SQL schema defined this way:
> {code}
> cfg.setIndexedTypes(AffinityKey.class, Person.class);
> {code}
> and then, by some reason, the users confuses the type of the key passing
> {{int}} instead of {{AffinityKey}}
> {code}
> SqlFieldsQuery query = new SqlFieldsQuery("INSERT INTO Person (_key,
> id, name, country ) " +
> "VALUES ( ? , ? , ? , ?)");
> // Setting the key of a wrong type (AffinityKey instance must be used
> instead).
> query.setArgs(100, 1000, "John", "Canada");
> // Getting not user friendly exception.
> cache.query(query).getAll();
> {code}
> he will get an exception that doesn't point out to the exact root cause:
> {noformat}
> Caused by: class org.apache.ignite.IgniteException: Failed to execute SQL
> query.
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$3.iterator(DmlStatementsProcessor.java:365)
> at
> org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:94)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.doInsert(DmlStatementsProcessor.java:836)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.executeUpdateStatement(DmlStatementsProcessor.java:378)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFields(DmlStatementsProcessor.java:173)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor.updateSqlFieldsTwoStep(DmlStatementsProcessor.java:207)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryDistributedSqlFields(IgniteH2Indexing.java:1657)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1701)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor$5.applyx(GridQueryProcessor.java:1699)
> at
> org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2129)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:1706)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:783)
> ... 6 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute
> SQL query.
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:1224)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1276)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.access$1300(IgniteH2Indexing.java:239)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$4.iterator(IgniteH2Indexing.java:1079)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$4.iterator(IgniteH2Indexing.java:1067)
> at
> org.apache.ignite.internal.processors.query.h2.DmlStatementsProcessor$3.iterator(DmlStatementsProcessor.java:362)
> ... 18 more
> Caused by: org.h2.jdbc.JdbcSQLException: Hexadecimal string with odd number
> of characters: "100"; SQL statement:
> SELECT
> TABLE._KEY,
> TABLE.ID,
> TABLE.NAME,
> TABLE.COUNTRY
> FROM TABLE(_KEY OTHER=(?1,), ID BIGINT=(?2,), NAME VARCHAR=(?3,), COUNTRY
> VARCHAR=(?4,)) [90003-195]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
> at org.h2.message.DbException.get(DbException.java:179)
> at org.h2.message.DbException.get(DbException.java:155)
> at org.h2.util.StringUtils.convertHexToBytes(StringUtils.java:930)
> at org.h2.value.Value.convertTo(Value.java:957)
> at org.h2.table.Column.convert(Column.java:167)
> at org.h2.expression.TableFunction.getTable(TableFunction.java:118)
> at org.h2.expression.TableFunction.getValue(TableFunction.java:41)
> at org.h2.table.FunctionTable.getValueResultSet(FunctionTable.java:218)
> at
Anton Vinogradov created IGNITE-5292:
Summary: IgniteCache's 'clear' and 'remove' methods should have
clear documentation
Key: IGNITE-5292
URL: https://issues.apache.org/jira/browse/IGNITE-5292
Project: Ignite
Issue Type: Bug
Reporter: Anton Vinogradov
Priority: Minor
It should be clear what is the difference between 'clear' and 'remove' methods.
IgniteInternalCache has better documentation than IgniteCache.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-4904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024897#comment-16024897
]
ASF GitHub Bot commented on IGNITE-4904:
GitHub user ptupitsyn opened a pull request:
https://github.com/apache/ignite/pull/2009
IGNITE-4904 .NET: DML Delete via LINQ
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ptupitsyn/ignite ignite-4904
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/2009.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2009
commit 1c1ec13e28f91bd345f5262291e9c19d74fcdb3c
Author: Pavel Tupitsyn
Date: 2017-05-22T15:26:17Z
IGNITE-4904 .NET: DML via LINQ
commit 9fab0e7b7945102e94012c352fbf6f7b21195793
Author: Pavel Tupitsyn
Date: 2017-05-22T15:39:26Z
API and test added for DeleteAll
commit e044a9ea028b1299f33f5b47da9f1b3929e4c9dc
Author: Pavel Tupitsyn
Date: 2017-05-22T15:41:40Z
wip
commit 00f6a6b9eaede6222db2cbd373a72af96be91460
Author: Pavel Tupitsyn
Date: 2017-05-22T15:57:04Z
wip
commit 5af55be2fa778e88f9a725c361b06a673312324d
Author: Pavel Tupitsyn
Date: 2017-05-22T16:20:02Z
wip adding ReLinq extensions
commit 73e29df8db06b42dfdc76e7378f0ff28eae64a33
Author: Pavel Tupitsyn
Date: 2017-05-22T16:26:48Z
register new node in ReLinq
commit 9fd511e26fc03253cf7f7ae9e0786d44f3cafdf6
Author: Pavel Tupitsyn
Date: 2017-05-22T16:39:39Z
wip
commit 896bf6e58663412bcce77f00f3d02aeb6b14a6ee
Author: Pavel Tupitsyn
Date: 2017-05-22T16:49:35Z
wip fix extension
commit 042a4e48a482327ca86929c43526d657811acf00
Author: Pavel Tupitsyn
Date: 2017-05-22T16:50:27Z
wip
commit 218a1decb79c364ca90c5b7289dffb5dde85e1ca
Author: Pavel Tupitsyn
Date: 2017-05-22T16:54:40Z
Overload with predicate
commit 70c4e4c761b921b8b30ec4d0fe7d07be115daba9
Author: Pavel Tupitsyn
Date: 2017-05-22T17:30:22Z
Add DeleteAll operator support to the engine
commit 3e897fe0684f47395affdcf084048f14d5abee27
Author: Pavel Tupitsyn
Date: 2017-05-22T17:31:37Z
wip
commit 5f1c4046214aac0e7cdeee8404c1e0e86e892919
Author: Pavel Tupitsyn
Date: 2017-05-22T17:33:51Z
Simple test works!
commit c76157c714b0fa6ec6824601c2053abb32f37799
Author: Pavel Tupitsyn
Date: 2017-05-22T17:36:11Z
wip todos
commit ce5cd5fbc02a807410a456d4db0349cf60fe00ee
Author: Pavel Tupitsyn
Date: 2017-05-23T12:36:57Z
Rename DeleteAll to RemoveAll
commit 496a832d46989c651da5f4b1db8fa06322753549
Author: Pavel Tupitsyn
Date: 2017-05-23T13:02:56Z
wip
commit bcbd923fed2b1fd4ed6f1ec3710064d8724d7151
Author: Pavel Tupitsyn
Date: 2017-05-23T13:04:05Z
wip RemoveAll with predicate
commit 69e49af97e7b5c2512228032f5e3c47706a6b667
Author: Pavel Tupitsyn
Date: 2017-05-24T16:51:44Z
Merge branch 'master' into ignite-4904
commit c75d867293293be1fe275512cc6f82c27b951ae6
Author: Pavel Tupitsyn
Date: 2017-05-24T16:57:30Z
tests with predicate
commit b070cc3c0d96568f9d6dfde55526fffc85464212
Author: Pavel Tupitsyn
Date: 2017-05-24T17:04:49Z
add test with join
commit 64c7bc71e3aee9efabd309798cc90810e4ea471e
Author: Pavel Tupitsyn
Date: 2017-05-24T17:08:23Z
wip todos
commit 4bbcfde8bad41d4982ecdeebbb26b6191051ab5d
Author: Pavel Tupitsyn
Date: 2017-05-25T12:37:31Z
Merge branch 'master' into ignite-4904
commit ec8c0c908b79f88010f01ae3d0e4812685f118fe
Author: Pavel Tupitsyn
Date: 2017-05-25T14:22:36Z
wip
commit 765ba572bc0fa5445bcac02599146ac2433497c9
Author: Pavel Tupitsyn
Date: 2017-05-25T14:25:52Z
wip tests
commit f49b057f12586b8d27195573dd2453b1c1272ce6
Author: Pavel Tupitsyn
Date: 2017-05-25T14:35:28Z
wip
commit 42fa73cb648a6c92381a02f2c8764ef12240e76c
Author: Pavel Tupitsyn
Date: 2017-05-25T14:46:11Z
wip tests
commit 8d583a76694804ca0a239b1ac516ed7a5abac272
Author: Pavel Tupitsyn
Date: 2017-05-25T14:48:56Z
Tests done
commit 4c35a5c8c107bd7f42eb05647e36fc30370a7305
Author: Pavel Tupitsyn
Date: 2017-05-25T14:52:31Z
Tests done
commit 218c38843a738162e9cd60a5ccd358ea72b4d7ad
Author: Pavel Tupitsyn
[
https://issues.apache.org/jira/browse/IGNITE-5289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024875#comment-16024875
]
Alexander Paschenko commented on IGNITE-5289:
-
Example of the query that will be explicitly declined:
{code:sql}
WITH RECURSIVE t(n) AS (
SELECT 1
UNION ALL
SELECT n + 1
FROM t
WHERE n < 100
)
SELECT sum(n) FROM t;
{code}
> SQL: forbid recursive WITH queries
> --
>
> Key: IGNITE-5289
> URL: https://issues.apache.org/jira/browse/IGNITE-5289
> Project: Ignite
> Issue Type: Task
> Components: sql
>Reporter: Alexander Paschenko
>Assignee: Alexander Paschenko
>
> Recursive queries starting with WITH keyword must be explicitly forbidden.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024868#comment-16024868
]
ASF GitHub Bot commented on IGNITE-5291:
GitHub user alexpaschenko opened a pull request:
https://github.com/apache/ignite/pull/2008
IGNITE-5291 Correct handling of cache stop in IgniteH2Indexing
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-5291
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/2008.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2008
commit de522ebcc27807f4316b18349f5024f28f1bcf2b
Author: Alexander Paschenko
Date: 2017-05-25T15:21:13Z
IGNITE-5291 Correct handling of cache stop in IgniteH2Indexing
> SQL: plans cache does not clear on cache stop
> -
>
> Key: IGNITE-5291
> URL: https://issues.apache.org/jira/browse/IGNITE-5291
> Project: Ignite
> Issue Type: Bug
> Components: sql
>Affects Versions: 2.0
> Environment: After cache-schema decoupling mutation of
> {{DmlStatementsProcessor#planCache}} appears to be broken (different pieces
> of code contexts operate different schema names), have to do this
> consistently.
>Reporter: Alexander Paschenko
>Assignee: Alexander Paschenko
> Fix For: 2.1
>
>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-4904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024830#comment-16024830
]
Pavel Tupitsyn edited comment on IGNITE-4904 at 5/25/17 3:32 PM:
-
Turns out {{DELETE FROM}} with joins is not supported by H2:
http://www.h2database.com/html/grammar.html#delete
The workaround is to use subquery ({{Contains}} in LINQ).
Examples of supported queries:
{code}
var persons = ignite.GetCache("persons").AsCacheQueryable();
persons.Where(x => x.Key > 10).RemoveAll();
persons.RemoveAll(x => x.Key > 10); // Exactly the same SQL as above
persons.Take(3).RemoveAll(); // delete top 3 from person
// Join workaround:
var orgs = ignite.GetCache("orgs").AsCacheQueryable();
var orgIds = orgs.Where(x => x.Value.Name == "foo").Select(x => x.Key);
persons.Where(x => orgIds.Contains(x.Value.OrgId)).RemoveAll(); // Generates
_key IN (select ...)
{code}
was (Author: ptupitsyn):
Turns out {{DELETE FROM}} with joins is not supported by H2:
http://www.h2database.com/html/grammar.html#delete
The workaround is to use subquery ({{Contains}} in LINQ).
Examples of supported queries:
{code}
var persons = ignite.GetCache("persons").AsCacheQueryable();
persons.Where(x => x.Key > 10).RemoveAll();
persons.RemoveAll(x => x.Key > 10); // Exactly the same SQL as above
persons.Take(3).RemoveAll();
// Join workaround:
var orgs = ignite.GetCache("orgs").AsCacheQueryable();
var orgIds = orgs.Where(x => x.Value.Name == "foo").Select(x => x.Key);
persons.Where(x => orgIds.Contains(x.Value.OrgId)).RemoveAll(); // Generates
_key IN (select ...)
{code}
> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
> Issue Type: New Feature
> Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
> Labels: .NET, LINQ
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}.
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method
> like this:
> {code}
> public static int DeleteAll(this ICache cache,
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression
> trees, and multi-line methods are not supported. We should come up with a way
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache,
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that
> member.
> We should probably do delete as a separate task first.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-4904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024830#comment-16024830
]
Pavel Tupitsyn edited comment on IGNITE-4904 at 5/25/17 3:31 PM:
-
Turns out {{DELETE FROM}} with joins is not supported by H2:
http://www.h2database.com/html/grammar.html#delete
The workaround is to use subquery ({{Contains}} in LINQ).
Examples of supported queries:
{code}
var persons = ignite.GetCache("persons").AsCacheQueryable();
persons.Where(x => x.Key > 10).RemoveAll();
persons.RemoveAll(x => x.Key > 10); // Exactly the same SQL as above
persons.Take(3).RemoveAll();
// Join workaround:
var orgs = ignite.GetCache("orgs").AsCacheQueryable();
var orgIds = orgs.Where(x => x.Value.Name == "foo").Select(x => x.Key);
persons.Where(x => orgIds.Contains(x.Value.OrgId)).RemoveAll(); // Generates
_key IN (select ...)
{code}
was (Author: ptupitsyn):
Turns out {{DELETE FROM}} with joins is not supported by H2:
http://www.h2database.com/html/grammar.html#delete
The workaround is to use subquery ({{Contains}} in LINQ).
Examples of supported queries:
{code}
var persons = ignite.GetCache("persons").AsCacheQueryable();
persons.Where(x => x.Key > 10).RemoveAll();
persons.RemoveAll(x => x.Key > 10); // Exactly the same SQL as above
// Join workaround:
var orgs = ignite.GetCache("orgs").AsCacheQueryable();
var orgIds = orgs.Where(x => x.Value.Name == "foo").Select(x => x.Key);
persons.Where(x => orgIds.Contains(x.Value.OrgId)).RemoveAll(); // Generates
_key IN (select ...)
{code}
> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
> Issue Type: New Feature
> Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
> Labels: .NET, LINQ
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}.
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method
> like this:
> {code}
> public static int DeleteAll(this ICache cache,
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression
> trees, and multi-line methods are not supported. We should come up with a way
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache,
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that
> member.
> We should probably do delete as a separate task first.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
Alexander Paschenko created IGNITE-5291:
---
Summary: SQL: plans cache does not clear on cache stop
Key: IGNITE-5291
URL: https://issues.apache.org/jira/browse/IGNITE-5291
Project: Ignite
Issue Type: Bug
Components: sql
Affects Versions: 2.0
Environment: After cache-schema decoupling mutation of
{{DmlStatementsProcessor#planCache}} appears to be broken (different pieces of
code contexts operate different schema names), have to do this consistently.
Reporter: Alexander Paschenko
Assignee: Alexander Paschenko
Fix For: 2.1
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
Nikolay Tikhonov created IGNITE-5290:
Summary: Events might be missed during concurrent CQ registration
and cache operations
Key: IGNITE-5290
URL: https://issues.apache.org/jira/browse/IGNITE-5290
Project: Ignite
Issue Type: Bug
Affects Versions: 2.0
Reporter: Nikolay Tikhonov
Events might be missed during concurrent CQ registration and cache operations.
See attached test.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn reassigned IGNITE-2492:
--
Assignee: Vladimir Ozerov (was: Pavel Tupitsyn)
> .NET: Peer assembly loading
> ---
>
> Key: IGNITE-2492
> URL: https://issues.apache.org/jira/browse/IGNITE-2492
> Project: Ignite
> Issue Type: New Feature
> Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Vladimir Ozerov
> Labels: .net, important
> Fix For: 2.1
>
>
> Similar to peer class loading in Java, we can provide a possibility to load
> assemblies on already started nodes, so that a node can execute jobs that are
> not present on other nodes.
> Considerations:
> * Can we unload assemblies after use to free memory? This requires a separate
> AppDomain, can we work with that?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Cherkasov reassigned IGNITE-5030:
-
Assignee: Mikhail Cherkasov
> Support Spring @Cacheable(sync=true) annotation
> ---
>
> Key: IGNITE-5030
> URL: https://issues.apache.org/jira/browse/IGNITE-5030
> Project: Ignite
> Issue Type: Task
>Reporter: Anton Vinogradov
>Assignee: Mikhail Cherkasov
>
> @Cacheable(sync=true) guarantee that only one thread (across the cluster)
> will fetch value for a key on get, even in case of some simultaneous gets.
> So,
> org.apache.ignite.cache.spring.SpringCache#get(java.lang.Object,
> java.util.concurrent.Callable)
> should be implemented to provide such guarantee.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitriy Pavlov updated IGNITE-5288:
---
Summary: Inconsistency of committed and the max memory numbers should not
cause stopping node (was: Inconsistency of committed and the max memory
numbers should not cause stopping cluster)
> Inconsistency of committed and the max memory numbers should not cause
> stopping node
>
>
> Key: IGNITE-5288
> URL: https://issues.apache.org/jira/browse/IGNITE-5288
> Project: Ignite
> Issue Type: Improvement
>Reporter: Dmitriy Pavlov
>Assignee: Dmitriy Pavlov
>
> http://apache-ignite-users.70518.x6.nabble.com/Ignite-and-Memory-Info-td13111.html
> When using Ignite 1.7 together with Excelsior JET Ahead-Of-Time Compiler we
> get this error on various occasions:
>
> {noformat}
> java.lang.IllegalArgumentException: committed = 5274103808 should be < max =
> 5274095616
> at java.lang.management.MemoryUsage.(Unknown Source)
> at sun.management.MemoryImpl.(Unknown Source)
> at sun.management.MemoryImpl.getHeapMemoryUsage(Unknown Source)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$6.getHeapMemoryCommitted(GridDiscoveryManager.java:778)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$7.metrics(GridDiscoveryManager.java:878)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processHeartbeatMessage(ServerImpl.java:4651)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2325)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2135)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6123)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:)
> at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> {noformat}
> The committed and the max memory numbers are not consistent and
> getHeapMemoryUsage() throws a IllegalArgumentEx about it.
>
> GridDiscoveryManager can get such error and not kill the whole process
> because of it.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024659#comment-16024659
]
Pavel Tupitsyn commented on IGNITE-2492:
[~vozerov], done, please review:
* {{IgniteConfiguration.PeerAssemblyLoadingMode}} added instead of bool flag
* Use originating node first for assembly requests (include origin node id in
peer loading object wrapper)
> .NET: Peer assembly loading
> ---
>
> Key: IGNITE-2492
> URL: https://issues.apache.org/jira/browse/IGNITE-2492
> Project: Ignite
> Issue Type: New Feature
> Components: platforms
>Affects Versions: 1.1.4
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
> Labels: .net, important
> Fix For: 2.1
>
>
> Similar to peer class loading in Java, we can provide a possibility to load
> assemblies on already started nodes, so that a node can execute jobs that are
> not present on other nodes.
> Considerations:
> * Can we unload assemblies after use to free memory? This requires a separate
> AppDomain, can we work with that?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024610#comment-16024610
]
Sergey Kalashnikov commented on IGNITE-5204:
[~wal...@sohu.com],
Have you really tried to run these queries via proper Ignite SQL API?
Why do you use H2 Debug console to run queries?
I made an automatic test using your description of the issue. The test uses
Ignite cache query API.
With this automatic test, I have not managed to reproduce the problem.
I was only able to reproduce the first issue manually with the help of H2 debug
console connected to the Ignite client node.
The root cause of the issue is that for client node some internals of index are
not initialized (intentionally).
This can only be a problem if you use H2 Debug console to run queries.
In fact, for the query to be run properly, it must go through Ignite query API.
> The Unicode character in the value of a field which are included in an
> un-unique index will cause "stack overhead" exception
>
>
> Key: IGNITE-5204
> URL: https://issues.apache.org/jira/browse/IGNITE-5204
> Project: Ignite
> Issue Type: Bug
> Components: cache, sql
>Affects Versions: 2.0
> Environment: windows server 2012, JDK 1.8, X64
>Reporter: Chris Wang
>Assignee: Sergey Kalashnikov
>Priority: Critical
> Fix For: 2.1
>
>
> When put "草DX009090" as the value of BillId, which is a field of entity
> Bill. If I define a index includes the BillId, and execute the query like
> "select * from Bill where BillId=’草DX009090‘ in the H2 debug console, there
> throws an exception by the H2 with a code 5000.
> another scenario is, I have two entities, "Bill" and "Detail", both have
> field "BillId". If either of them have value like "草DX009090" and execute the
> query like "select bill.* from bill left join detail on
> bill.billid=detail.billid", the whole ignite cache node will halt ( suppose
> there should be an stack overhead exception, dead loop).
> ==
> I think the issue should relate to hash computing on the unicode character.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-4496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024576#comment-16024576
]
ASF GitHub Bot commented on IGNITE-4496:
GitHub user akuramshingg opened a pull request:
https://github.com/apache/ignite/pull/2005
ignite-4496-1
IGNITE-4496 Review all logging for sensitive data leak
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-4496-1
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/2005.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2005
commit db02d5a0abb3b27d26f19b37daac0ad7d4cd7744
Author: Alexandr Kuramshin
Date: 2017-05-25T11:05:40Z
IGNITE-4496 Review all logging for sensitive data leak
commit 281d5e8227fc360198d574211f6224db5d48a59d
Author: Alexandr Kuramshin
Date: 2017-05-25T11:22:27Z
log.debug() fix
remove empty files
> Review all logging for sensitive data leak
> --
>
> Key: IGNITE-4496
> URL: https://issues.apache.org/jira/browse/IGNITE-4496
> Project: Ignite
> Issue Type: Improvement
>Reporter: Alexandr Kuramshin
>Assignee: Alexandr Kuramshin
>
> While sensitive logging option added and toString() methods fixed, not all
> logging was checked for sensitive data leak
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024483#comment-16024483
]
ASF GitHub Bot commented on IGNITE-5287:
GitHub user devozerov opened a pull request:
https://github.com/apache/ignite/pull/2004
IGNITE-5287
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-5287
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/2004.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2004
commit 7dd23aa3f891659c5d455316b9bedda4c26d22b3
Author: devozerov
Date: 2017-05-24T12:52:15Z
Started.
commit 7a7646d46080ec7e22476e744cd4b9973be066b6
Author: devozerov
Date: 2017-05-24T15:26:11Z
Implemented normalization logic.
commit 3caf64a42bacf8cbe82d63797473949a521babbb
Author: devozerov
Date: 2017-05-24T15:36:01Z
Minor fix. Normalization appears to be fine at this point.
commit c3773cc7de08ff31f70d9c77af55c9b53a55ce06
Author: devozerov
Date: 2017-05-24T16:31:06Z
WIP.
commit 37a7c223f604680904d63743de7472ef86a85e6b
Author: devozerov
Date: 2017-05-24T16:50:45Z
WIP.
commit cbcc8d4f58fdb0ec9d6b2c5a85b2c6330742be2f
Author: devozerov
Date: 2017-05-25T07:38:17Z
WIP.
commit b48c8ff383bd9e174a31f04038f36f13ad0da0a3
Author: devozerov
Date: 2017-05-25T07:50:24Z
List of failing tests.
commit f066b7748c3d749cebd2b1bd836f390328ab2462
Author: devozerov
Date: 2017-05-25T07:55:14Z
Fixing tests.
commit 23f4f46b05929285ead36164d8a90f685c6dca93
Author: devozerov
Date: 2017-05-25T08:06:24Z
WIP on tests.
commit 2195c14f8a203d9709b224ac68962ee8acf57a57
Author: devozerov
Date: 2017-05-25T08:13:58Z
WIP on tests.
commit 8e438499f03ad450788a81d1c5d4fcbde9179b6d
Author: devozerov
Date: 2017-05-25T08:48:37Z
Table name is always set.
commit 8227e6934f7690bf53bdb6925e03eb4a2f0dfcf3
Author: devozerov
Date: 2017-05-25T09:19:10Z
WIP.
commit e790fa76899f974f67708a6f7ff45548260b953d
Author: devozerov
Date: 2017-05-25T09:23:41Z
WIP.
commit 266e661f383604ae299125807658fd3f89420d8d
Author: devozerov
Date: 2017-05-25T09:31:14Z
WIP.
commit 39d180fc7ec53b49a069b66d65ecc415a49a9ecc
Author: devozerov
Date: 2017-05-25T10:11:35Z
Fixing tests.
commit b1aef1585e358a9c05ee4361cc7994d55de93299
Author: devozerov
Date: 2017-05-25T10:12:23Z
Enabling tests.
> SQL: CacheConfiguration.sqlEscapeAll must affect only predefined objects
>
>
> Key: IGNITE-5287
> URL: https://issues.apache.org/jira/browse/IGNITE-5287
> Project: Ignite
> Issue Type: Bug
> Components: cache, sql
>Reporter: Vladimir Ozerov
>Assignee: Vladimir Ozerov
> Fix For: 2.1
>
>
> Mentioned flag should work as follows:
> 1) If set, all object names (schema, QueryEntity (table, fields and aliases),
> QueryIndex (name and fields)) should be left as is.
> 2) Otherwise we should convert them to uppercase, and replace class
> delimiters (".", "$") with underscore.
> This is it. This property should not be used anywhere else. Allmost all
> usages of {{IgniteH2Indexing.escapeName}} should go away.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16024476#comment-16024476
]
Taras Ledkov commented on IGNITE-5176:
--
{quote}
The first page of query results is added to response on query execute.
What is the reason for this change?
{quote}
The main reason is decrease TCP interaction. e.g.: Simple short queries will be
required one TCP request / response instead of two.
> JDBC Driver: implement query execution for thin jdbc driver based on common
> odbc/jdbc protocol
> --
>
> Key: IGNITE-5176
> URL: https://issues.apache.org/jira/browse/IGNITE-5176
> Project: Ignite
> Issue Type: Task
> Components: sql
>Affects Versions: 2.0
>Reporter: Taras Ledkov
>Assignee: Igor Sapego
> Fix For: 2.1
>
>
> Implementation query execution & fetch results for thin JDBC driver over ODBC
> protocol.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov reassigned IGNITE-5287:
---
Assignee: Vladimir Ozerov (was: Alexander Paschenko)
> SQL: CacheConfiguration.sqlEscapeAll must affect only predefined objects
>
>
> Key: IGNITE-5287
> URL: https://issues.apache.org/jira/browse/IGNITE-5287
> Project: Ignite
> Issue Type: Bug
> Components: cache, sql
>Reporter: Vladimir Ozerov
>Assignee: Vladimir Ozerov
> Fix For: 2.1
>
>
> Mentioned flag should work as follows:
> 1) If set, all object names (schema, QueryEntity (table, fields and aliases),
> QueryIndex (name and fields)) should be left as is.
> 2) Otherwise we should convert them to uppercase, and replace class
> delimiters (".", "$") with underscore.
> This is it. This property should not be used anywhere else. Allmost all
> usages of {{IgniteH2Indexing.escapeName}} should go away.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[
https://issues.apache.org/jira/browse/IGNITE-5075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-5075:
Labels: important (was: )
> Implement logical 'cache groups' sharing the same physical caches
> -
>
> Key: IGNITE-5075
> URL: https://issues.apache.org/jira/browse/IGNITE-5075
> Project: Ignite
> Issue Type: Task
> Components: cache
>Reporter: Semen Boikov
>Assignee: Semen Boikov
>Priority: Critical
> Labels: important
> Fix For: 2.1
>
>
> Currently started caches have pretty large memory overhead (e.g. to store
> affinity and partitions state information). If some application requires
> thousands caches with similar configuration then it would be useful to allow
> for 'logical' cache to reuse the same 'physical' cache. Let's introduce new
> CacheConfiguration property - 'groupName', caches with the same groupName
> will use the same 'physical' cache.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)