Skip to content
Open
Show file tree
Hide file tree
Changes from 61 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
b457b03
GG-14719 jackson dependency upgraded to 2.9.9
antkr Jun 3, 2019
53899a0
GG-14930 Upgraded Jetty dependency to 9.4.18
antkr Jun 3, 2019
422e6ce
GG-19121 commons-codec dependency upgraded to 1.12
antkr Jun 3, 2019
e33a69a
GG-20558 Recovery mode for page memory used only for binary restore
akalash Jul 2, 2019
859c409
GG-20536 Holding exception at the record reading until next call of i…
akalash Jul 2, 2019
c41982f
GG-14970 IdleVerify command should print end time of execution.
6uest Jun 14, 2019
7719fe9
GG-20761 [GG-20749] remove migration pendingTree compatibility test f…
dgovorukhin Jul 3, 2019
5a616de
GG-20420 NullPointerException If transaction failed and failure handl…
Jul 3, 2019
3b97ac7
GG-20193 fix IGNITE-9858 adapted into the branch
sergey-chugunov-1985 Jul 3, 2019
58510ca
GG-20702 Fix invalid partition clearing.
ascherbakoff Jul 3, 2019
1c9dbe2
GG-20464 backport to 8.5-master of GG-19518 IoStatisticsBasicIndexSel…
korlov42 Jul 3, 2019
b823cc6
GG-20798 Fix failing tests.
ascherbakoff Jul 3, 2019
44091fa
GG-19492 Add debug output for o.a.i.internal.processors.cache.persist…
6uest Jul 1, 2019
b01ce11
GG-18891 CommandHandlerParsingTest#testExperimentalCommandIsDisabled(…
Jul 4, 2019
20df5b0
Merge branch 'ignite-2.5-master' of https://github.com/gridgain/apach…
Jul 4, 2019
ad9070d
GG-20810 backport to 8.5-master of GG-20807 Fix failing IoStatisticsB…
korlov42 Jul 4, 2019
3616b6a
GG-19515: GG: destroying of the cache and re-creating with the same n…
ibelyakov Jul 5, 2019
b04ec7e
GG-20822: Compact log and drop log level down to info for cancelled q…
AMashenkov Jul 5, 2019
21de580
Revert "GG-19515: GG: destroying of the cache and re-creating with th…
ibelyakov Jul 7, 2019
b773b6c
GG-21061 [GG-21057] Fixed IgniteCacheReplicatedQuerySelfTest.testNode…
dgovorukhin Jul 8, 2019
d8a004f
GG-21074 [GG-21055] Fixed IgniteClusterActivateDeactivateTest.testDea…
dgovorukhin Jul 8, 2019
dfff292
GG-20185 control.sh validate_indexes SQL Index issue must contain inf…
Jul 8, 2019
e093eeb
GG-20917 [8.5-next]-[GG-20908] Set max possible maintenance version f…
Jul 8, 2019
0adf555
GG-20729 Add ability to set default parallelism of rebuild indexes in…
Jul 2, 2019
ca61a70
GG-20845 Added explicit indexes to WALRecord.RecordType.
ibessonov Jul 9, 2019
91c2faa
GG-19486 Fixed IgniteOutOfMemoryException when IgniteCache#clear() is…
sk0x50 Jul 9, 2019
f593ded
GG-20875 Fix assertion on counter reservation.
ascherbakoff Jul 10, 2019
4b3419f
GG-21105: [8.5-next]-[GG-21101] IgniteCacheClientReconnectTest.testCl…
gvvinblade Jul 10, 2019
7157097
GG-19609 [8.5-master]-[GG-19255] Inline index compatibility is broken…
Jul 11, 2019
784d1e0
GG-21186 Fixed IgniteDataStorageMetricsSelfTest
sk0x50 Jul 11, 2019
3b51081
GG-21295 [GG-21154] Invoke FailureProcessor if tree invariant is broken
dgovorukhin Jul 12, 2019
2923f19
GG-21291 [GG-19570] Add extended logging for node start
akalash Jul 12, 2019
c91304a
GG-21291 [GG-19570] Add extended logging for node start
akalash Jul 12, 2019
9b86f7b
GG-21283 Backported to 2.5-master of GG-18503 DR Sender/Receiver tab …
nva Jul 9, 2019
bfedcca
GG-17447: Replace TcpDiscoveryNode to nodeId in TcpDiscoveryMessages
Jun 11, 2019
ca1d8b7
GG-21123 Fix threads parking for indefinite time during throttling af…
antonovsergey93 Jul 15, 2019
9f580f0
GG-20761 [GG-20749] Delete PdsWithTtlCompatibilityTest.java
pavlukhin Jul 15, 2019
d49c448
GG-21302 [8.5-next]-[GG-21299] Add the WAL record type BTREE_META_PAG…
pavlukhin Jul 15, 2019
7e43d97
GG-19526 Optimize heap usage for TcpDiscoveryNodeAddedMessage stored …
Jul 15, 2019
2087ec3
GG-21314 Backport to 2.5-master of GG-21312 Fixed collecting rebalanc…
akuznetsov-os Jul 15, 2019
2676c12
GG-19412 Exclude test resource Wrapper.ser from license check
pavlukhin Jul 16, 2019
ebb2603
GG-20850: Fix @Ignore link.
gvvinblade Jul 16, 2019
2ca3f15
GG-19412 Fail Continuous Query registration and do not fail node if r…
pavlukhin Jul 16, 2019
f6576fc
GG-20567 Updated dependencies to fix possible vulnerabilities
Jul 17, 2019
4c22ea9
GG-20594 GG-20593 GG-20592 GG-19428 [IGNITE-9560] Security Engine fix…
ingvard Jul 17, 2019
b8a547f
GG-19117 GridCacheProcessor should add info about cache in exception …
Jul 17, 2019
60eda4f
GG-21225 control.sh validate_indexes SQL Index issue add information …
Jul 17, 2019
884f661
GG-21472 [GG-21254] Fixed *.testFailAfterStart failed on TC
dgovorukhin Jul 17, 2019
f196f2c
GG-21472 [GG-21254] Fixed *.testFailAfterStart failed on TC
dgovorukhin Jul 17, 2019
6674af2
GG-20905 Print warning if awaiting next wal segment it too long.
Jul 17, 2019
143257c
GG-21338 Fixed checkpointReadLock() may hang during node stop
ibessonov Jul 17, 2019
eab2af9
GG-17345 Reduce heap occupation by o.a.i.i.processors.cache.persisten…
Jun 13, 2019
347ae68
GG-17345 Checking file length in FilePageStore#exists()
Jul 16, 2019
3fe68c2
GG-21232 control.sh if experimental command disabled - don't show hel…
Jul 18, 2019
7bbf4d0
GG-20567 Removed outdated dependency from pom file
Jul 19, 2019
a5a2d85
GG-21630 [GG-20866] [IGNITE-11966] Fixed using AdaptiveLoadBalancingS…
ibessonov Jul 19, 2019
d62c77d
GG-21395 Fixed unguarded log.info() usages
agoncharuk Jul 19, 2019
9a3b007
GG-21696 [GG-21389] Flush records on cache stop
dgovorukhin Jul 22, 2019
8d83dbc
GG-21461: improve algorithm of detecting use of java objects for inli…
ygerzhedovich Jul 22, 2019
8a70bd0
GG-21461: fixes after review.
ygerzhedovich Jul 23, 2019
67a599b
GG-21461: Corrupt index tree fix
ygerzhedovich Jul 24, 2019
98ea82f
GG-21461: fixes after review
ygerzhedovich Jul 24, 2019
27f7124
GG-21461: fixes after review
ygerzhedovich Jul 25, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions bin/control.bat
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,11 @@ if %ERRORLEVEL% equ 0 (
if "%JVM_OPTS%" == "" set JVM_OPTS=-Xms256m -Xmx1g
)

::
:: Uncomment to enable experimental commands [--wal]
::
:: set JVM_OPTS=%JVM_OPTS% -DIGNITE_ENABLE_EXPERIMENTAL_COMMAND=true

::
:: Uncomment the following GC settings if you see spikes in your throughput due to Garbage Collection.
::
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
/*
* Copyright 2019 GridGain Systems, Inc. and Contributors.
*
* Licensed under the GridGain Community Edition License (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.gridgain.com/products/software/community-edition/gridgain-community-edition-license
*
* 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.benchmarks.jol;

import java.io.File;
import java.nio.ByteBuffer;
import java.nio.file.Path;
import java.util.LinkedList;
import java.util.List;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.internal.pagemem.PageMemory;
import org.apache.ignite.internal.pagemem.store.PageStore;
import org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory;
import org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreFactory;
import org.apache.ignite.internal.processors.cache.persistence.file.FileVersionCheckingFactory;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.openjdk.jol.info.GraphLayout;

import static org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.PART_FILE_TEMPLATE;

/**
*
*/
public class FileStoreHeapUtilizationJolBenchmark {
/** */
private void benchmark() throws IgniteCheckedException {
FilePageStoreFactory factory = new FileVersionCheckingFactory(
new AsyncFileIOFactory(),
new AsyncFileIOFactory(),
new DataStorageConfiguration()
.setPageSize(4096)
);

List<PageStore> stores = new LinkedList<>();

File workDir = U.resolveWorkDirectory(U.defaultWorkDirectory(), "db", false);

for (int i = 0; i < 10000; i++) {
final int p = i;

PageStore ps = factory.createPageStore(
PageMemory.FLAG_DATA,
() -> getPartitionFilePath(workDir, p),
d -> { }
);

ps.ensure();

ps.write(0, ByteBuffer.allocate(256), 1, false);

stores.add(ps);
}

System.gc();

GraphLayout layout = GraphLayout.parseInstance(stores);

System.out.println("heap usage: " + layout.totalSize());

U.delete(workDir);
}

/** */
private Path getPartitionFilePath(File cacheWorkDir, int partId) {
return new File(cacheWorkDir, String.format(PART_FILE_TEMPLATE, partId)).toPath();
}

/** */
public static void main(String[] args) throws Exception {
new FileStoreHeapUtilizationJolBenchmark().benchmark();
}
}
2 changes: 1 addition & 1 deletion modules/camel/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<url>http://ignite.apache.org</url>

<properties>
<guava.version>18.0</guava.version>
<guava.version>25.1-jre</guava.version>
<okhttp.version>2.5.0</okhttp.version>
</properties>

Expand Down
2 changes: 1 addition & 1 deletion modules/cassandra/store/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<cassandra-driver.version>3.0.0</cassandra-driver.version>
<cassandra-all.version>3.3</cassandra-all.version>
<netty.version>4.1.27.Final</netty.version>
<guava.version>19.0</guava.version>
<guava.version>25.1-jre</guava.version>
<metrics-core.version>3.0.2</metrics-core.version>
</properties>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -648,17 +648,25 @@ private void createKeyspace(KeyValuePersistenceSettings settings) {

while (attempt < CQL_EXECUTION_ATTEMPTS_COUNT) {
try {
log.info("-----------------------------------------------------------------------");
log.info("Creating Cassandra keyspace '" + settings.getKeyspace() + "'");
log.info("-----------------------------------------------------------------------\n\n" +
settings.getKeyspaceDDLStatement() + "\n");
log.info("-----------------------------------------------------------------------");
if (log.isInfoEnabled()) {
log.info("-----------------------------------------------------------------------");
log.info("Creating Cassandra keyspace '" + settings.getKeyspace() + "'");
log.info("-----------------------------------------------------------------------\n\n" +
settings.getKeyspaceDDLStatement() + "\n");
log.info("-----------------------------------------------------------------------");
}

session().execute(settings.getKeyspaceDDLStatement());
log.info("Cassandra keyspace '" + settings.getKeyspace() + "' was successfully created");

if (log.isInfoEnabled())
log.info("Cassandra keyspace '" + settings.getKeyspace() + "' was successfully created");

return;
}
catch (AlreadyExistsException ignored) {
log.info("Cassandra keyspace '" + settings.getKeyspace() + "' already exist");
if (log.isInfoEnabled())
log.info("Cassandra keyspace '" + settings.getKeyspace() + "' already exist");

return;
}
catch (Throwable e) {
Expand Down Expand Up @@ -689,17 +697,25 @@ private void createTable(String table, KeyValuePersistenceSettings settings) {

while (attempt < CQL_EXECUTION_ATTEMPTS_COUNT) {
try {
log.info("-----------------------------------------------------------------------");
log.info("Creating Cassandra table '" + tableFullName + "'");
log.info("-----------------------------------------------------------------------\n\n" +
if (log.isInfoEnabled()) {
log.info("-----------------------------------------------------------------------");
log.info("Creating Cassandra table '" + tableFullName + "'");
log.info("-----------------------------------------------------------------------\n\n" +
settings.getTableDDLStatement(table) + "\n");
log.info("-----------------------------------------------------------------------");
log.info("-----------------------------------------------------------------------");
}

session().execute(settings.getTableDDLStatement(table));
log.info("Cassandra table '" + tableFullName + "' was successfully created");

if (log.isInfoEnabled())
log.info("Cassandra table '" + tableFullName + "' was successfully created");

return;
}
catch (AlreadyExistsException ignored) {
log.info("Cassandra table '" + tableFullName + "' already exist");
if (log.isInfoEnabled())
log.info("Cassandra table '" + tableFullName + "' already exist");

return;
}
catch (Throwable e) {
Expand Down Expand Up @@ -741,14 +757,19 @@ private void createTableIndexes(String table, KeyValuePersistenceSettings settin

while (attempt < CQL_EXECUTION_ATTEMPTS_COUNT) {
try {
log.info("-----------------------------------------------------------------------");
log.info("Creating indexes for Cassandra table '" + tableFullName + "'");
log.info("-----------------------------------------------------------------------");
if (log.isInfoEnabled()) {
log.info("-----------------------------------------------------------------------");
log.info("Creating indexes for Cassandra table '" + tableFullName + "'");
log.info("-----------------------------------------------------------------------");
}

for (String statement : indexDDLStatements) {
try {
log.info(statement);
log.info("-----------------------------------------------------------------------");
if (log.isInfoEnabled()) {
log.info(statement);
log.info("-----------------------------------------------------------------------");
}

session().execute(statement);
}
catch (AlreadyExistsException ignored) {
Expand All @@ -759,7 +780,8 @@ private void createTableIndexes(String table, KeyValuePersistenceSettings settin
}
}

log.info("Indexes for Cassandra table '" + tableFullName + "' were successfully created");
if (log.isInfoEnabled())
log.info("Indexes for Cassandra table '" + tableFullName + "' were successfully created");

return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.testframework.GridTestUtils;

/**
* Test that checks indexes handling with JDBC.
Expand Down Expand Up @@ -168,9 +169,9 @@ public void testCreateIndex() throws SQLException {
public void testCreateIndexWithDuplicateName() throws SQLException {
jdbcRun(CREATE_INDEX);

assertSqlException(new RunnableX() {
assertSqlException(new GridTestUtils.RunnableX() {
/** {@inheritDoc} */
@Override public void run() throws Exception {
@Override public void runx() throws Exception {
jdbcRun(CREATE_INDEX);
}
});
Expand Down Expand Up @@ -219,9 +220,9 @@ public void testDropIndex() throws SQLException {
* Test that dropping a non-existent index yields an error.
*/
public void testDropMissingIndex() {
assertSqlException(new RunnableX() {
assertSqlException(new GridTestUtils.RunnableX() {
/** {@inheritDoc} */
@Override public void run() throws Exception {
@Override public void runx() throws Exception {
jdbcRun(DROP_INDEX);
}
});
Expand Down Expand Up @@ -310,11 +311,11 @@ private IgniteCache<String, Person> cache() {
*
* @param r Runnable.
*/
private static void assertSqlException(RunnableX r) {
private static void assertSqlException(GridTestUtils.RunnableX r) {
// We expect IgniteSQLException with given code inside CacheException inside JDBC SQLException.

try {
r.run();
r.runx();
}
catch (SQLException e) {
return;
Expand All @@ -325,16 +326,4 @@ private static void assertSqlException(RunnableX r) {

fail(SQLException.class.getSimpleName() + " is not thrown.");
}

/**
* Runnable which can throw checked exceptions.
*/
private interface RunnableX {
/**
* Do run.
*
* @throws Exception If failed.
*/
public void run() throws Exception;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Callable;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.processors.odbc.ClientListenerProcessor;
import org.apache.ignite.internal.processors.port.GridPortRecord;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.GridTestUtils.RunnableX;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;

/**
Expand All @@ -45,68 +45,45 @@ public class JdbcThinAbstractSelfTest extends GridCommonAbstractTest {
* @param r Runnable to check support.
*/
protected void checkNotSupported(final RunnableX r) {
GridTestUtils.assertThrows(log,
new Callable<Object>() {
@Override public Object call() throws Exception {
r.run();

return null;
}
}, SQLFeatureNotSupportedException.class, null);
GridTestUtils.assertThrowsWithCause(r, SQLFeatureNotSupportedException.class);
}

/**
* @param r Runnable to check on closed connection.
*/
protected void checkConnectionClosed(final RunnableX r) {
GridTestUtils.assertThrows(log,
new Callable<Object>() {
@Override public Object call() throws Exception {
r.run();
GridTestUtils.assertThrowsAnyCause(log,
() -> {
r.run();

return null;
}
return null;
}, SQLException.class, "Connection is closed");
}

/**
* @param r Runnable to check on closed statement.
*/
protected void checkStatementClosed(final RunnableX r) {
GridTestUtils.assertThrows(log,
new Callable<Object>() {
@Override public Object call() throws Exception {
r.run();
GridTestUtils.assertThrowsAnyCause(log,
() -> {
r.run();

return null;
}
return null;
}, SQLException.class, "Statement is closed");
}

/**
* @param r Runnable to check on closed result set.
*/
protected void checkResultSetClosed(final RunnableX r) {
GridTestUtils.assertThrows(log,
new Callable<Object>() {
@Override public Object call() throws Exception {
r.run();
GridTestUtils.assertThrowsAnyCause(log,
() -> {
r.run();

return null;
}
return null;
}, SQLException.class, "Result set is closed");
}

/**
* Runnable that can throw an exception.
*/
interface RunnableX {
/**
* @throws Exception On error.
*/
void run() throws Exception;
}

/**
* @param node Node to connect to.
* @param params Connection parameters.
Expand Down
Loading