You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2016/09/14 09:18:05 UTC
[01/12] ignite git commit: Fixed NPE in
GridCacheAbstractFullApiSelfTest in multi jvm tests.
Repository: ignite
Updated Branches:
refs/heads/master 563c2765d -> cfdae56db
Fixed NPE in GridCacheAbstractFullApiSelfTest in multi jvm tests.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/121b89b0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/121b89b0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/121b89b0
Branch: refs/heads/master
Commit: 121b89b07990068a31d384da8d6f3c781cf0efb8
Parents: b5121ad
Author: sboikov <sb...@gridgain.com>
Authored: Wed Sep 7 14:36:51 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Sep 7 14:36:51 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheAbstractFullApiSelfTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/121b89b0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 3f4d812..a31c82e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -296,7 +296,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
for (int i = 0; i < gridCount(); i++) {
Boolean clientMode = grid(i).configuration().isClientMode();
- if (clientMode)
+ if (clientMode != null && clientMode) // Can be null in multi jvm tests.
continue;
grid(0).services(grid(0).cluster()).deployNodeSingleton(SERVICE_NAME1, new DummyServiceImpl());
[10/12] ignite git commit: IGNITE-3815 Added check that key type
registered in store or cache. Added test. IGNITE-3816 Fixed column index
search logic and added propper exception.
Posted by ak...@apache.org.
IGNITE-3815 Added check that key type registered in store or cache. Added test.
IGNITE-3816 Fixed column index search logic and added propper exception.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/98914fef
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/98914fef
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/98914fef
Branch: refs/heads/master
Commit: 98914fef1565dee660b1d743c45c91f3c0bf0afe
Parents: 409f043
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Wed Sep 14 15:59:42 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Wed Sep 14 15:59:42 2016 +0700
----------------------------------------------------------------------
.../store/jdbc/CacheAbstractJdbcStore.java | 71 +++++++++++++-------
.../cache/store/jdbc/CacheJdbcPojoStore.java | 22 +++---
.../CacheJdbcPojoStoreAbstractSelfTest.java | 70 ++++++++++++++++---
...heJdbcPojoStoreBinaryMarshallerSelfTest.java | 12 ++--
4 files changed, 126 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/98914fef/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
index aad05e0..a33a1e6 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
@@ -574,8 +574,8 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
try {
if (kind == TypeKind.BUILT_IN) {
if (flds.length != 1)
- throw new CacheException("More than one field for built in type [cache=" + U.maskName(cacheName) +
- ", type=" + typeName + " ]");
+ throw new CacheException("More than one field for built in type " +
+ "[cache=" + U.maskName(cacheName) + ", type=" + typeName + " ]");
JdbcTypeField field = flds[0];
@@ -588,16 +588,16 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
else
for (JdbcTypeField field : flds) {
if (field.getDatabaseFieldName() == null)
- throw new CacheException("Missing database name in mapping description [cache=" +
- U.maskName(cacheName) + ", type=" + typeName + " ]");
+ throw new CacheException("Missing database name in mapping description " +
+ "[cache=" + U.maskName(cacheName) + ", type=" + typeName + " ]");
if (field.getJavaFieldName() == null)
- throw new CacheException("Missing field name in mapping description [cache=" +
- U.maskName(cacheName) + ", type=" + typeName + " ]");
+ throw new CacheException("Missing field name in mapping description " +
+ "[cache=" + U.maskName(cacheName) + ", type=" + typeName + " ]");
if (field.getJavaFieldType() == null)
- throw new CacheException("Missing field type in mapping description [cache=" +
- U.maskName(cacheName) + ", type=" + typeName + " ]");
+ throw new CacheException("Missing field type in mapping description " +
+ "[cache=" + U.maskName(cacheName) + ", type=" + typeName + " ]");
}
}
catch (ClassNotFoundException e) {
@@ -778,6 +778,23 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
return em;
}
+ /**
+ * Find column index by database name.
+ *
+ * @param loadColIdxs Select query columns indexes.
+ * @param dbName Column name in database.
+ * @return Column index.
+ * @throws IllegalStateException if column not found.
+ */
+ protected Integer columnIndex(Map<String, Integer> loadColIdxs, String dbName) {
+ Integer colIdx = loadColIdxs.get(dbName.toUpperCase());
+
+ if (colIdx == null)
+ throw new IllegalStateException("Failed to find column index for database field: " + dbName);
+
+ return colIdx;
+ }
+
/** {@inheritDoc} */
@Override public void loadCache(final IgniteBiInClosure<K, V> clo, @Nullable Object... args)
throws CacheLoaderException {
@@ -800,7 +817,15 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
log.debug("Start loading entries from db using user queries from arguments...");
for (int i = 0; i < args.length; i += 2) {
- String keyType = args[i].toString();
+ final String keyType = args[i].toString();
+
+ if (!F.exist(mappings.values(), new IgnitePredicate<EntryMapping>() {
+ @Override public boolean apply(EntryMapping em) {
+ return em.keyType().equals(keyType);
+ }
+ }))
+ throw new CacheLoaderException("Provided key type is not found in store or cache configuration " +
+ "[cache=" + U.maskName(cacheName) + ", key=" + keyType + "]");
String selQry = args[i + 1].toString();
@@ -827,7 +852,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (rs.next()) {
if (log.isDebugEnabled())
- log.debug("Multithread loading entries from db [cache=" + U.maskName(cacheName) +
+ log.debug("Multithread loading entries from db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + " ]");
int keyCnt = em.keyCols.size();
@@ -856,8 +881,8 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
}
}
catch (SQLException e) {
- log.warning("Failed to load entries from db in multithreaded mode [cache=" + U.maskName(cacheName) +
- ", keyType=" + em.keyType() + " ]", e);
+ log.warning("Failed to load entries from db in multithreaded mode " +
+ "[cache=" + U.maskName(cacheName) + ", keyType=" + em.keyType() + " ]", e);
}
finally {
U.closeQuiet(conn);
@@ -865,7 +890,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
}
if (log.isDebugEnabled())
- log.debug("Single thread loading entries from db [cache=" + U.maskName(cacheName) +
+ log.debug("Single thread loading entries from db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + " ]");
futs.add(pool.submit(loadCacheFull(em, clo)));
@@ -876,7 +901,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
U.get(fut);
if (log.isDebugEnabled())
- log.debug("Cache loaded from db: " + U.maskName(cacheName));
+ log.debug("Cache loaded from db: " + U.maskName(cacheName));
}
catch (IgniteCheckedException e) {
throw new CacheLoaderException("Failed to load cache: " + U.maskName(cacheName), e.getCause());
@@ -1143,7 +1168,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (currKeyTypeId == null || !currKeyTypeId.equals(keyTypeId)) {
if (mergeStmt != null) {
if (log.isDebugEnabled())
- log.debug("Write entries to db [cache=" + U.maskName(cacheName) +
+ log.debug("Write entries to db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + ", cnt=" + prepared + "]");
executeBatch(em, mergeStmt, "writeAll", fromIdx, prepared, lazyEntries);
@@ -1168,7 +1193,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (++prepared % batchSize == 0) {
if (log.isDebugEnabled())
- log.debug("Write entries to db [cache=" + U.maskName(cacheName) +
+ log.debug("Write entries to db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + ", cnt=" + prepared + "]");
executeBatch(em, mergeStmt, "writeAll", fromIdx, prepared, lazyEntries);
@@ -1181,7 +1206,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (mergeStmt != null && prepared % batchSize != 0) {
if (log.isDebugEnabled())
- log.debug("Write entries to db [cache=" + U.maskName(cacheName) +
+ log.debug("Write entries to db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + ", cnt=" + prepared + "]");
executeBatch(em, mergeStmt, "writeAll", fromIdx, prepared, lazyEntries);
@@ -1194,8 +1219,8 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
}
else {
if (log.isDebugEnabled())
- log.debug("Write entries to db one by one using update and insert statements [cache=" +
- U.maskName(cacheName) + ", cnt=" + entries.size() + "]");
+ log.debug("Write entries to db one by one using update and insert statements " +
+ "[cache=" + U.maskName(cacheName) + ", cnt=" + entries.size() + "]");
PreparedStatement insStmt = null;
@@ -1359,7 +1384,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (!currKeyTypeId.equals(keyTypeId)) {
if (log.isDebugEnabled())
- log.debug("Delete entries from db [cache=" + U.maskName(cacheName) +
+ log.debug("Delete entries from db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + ", cnt=" + prepared + "]");
executeBatch(em, delStmt, "deleteAll", fromIdx, prepared, lazyKeys);
@@ -1377,7 +1402,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (++prepared % batchSize == 0) {
if (log.isDebugEnabled())
- log.debug("Delete entries from db [cache=" + U.maskName(cacheName) +
+ log.debug("Delete entries from db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + ", cnt=" + prepared + "]");
executeBatch(em, delStmt, "deleteAll", fromIdx, prepared, lazyKeys);
@@ -1390,7 +1415,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
if (delStmt != null && prepared % batchSize != 0) {
if (log.isDebugEnabled())
- log.debug("Delete entries from db [cache=" + U.maskName(cacheName) +
+ log.debug("Delete entries from db [cache=" + U.maskName(cacheName) +
", keyType=" + em.keyType() + ", cnt=" + prepared + "]");
executeBatch(em, delStmt, "deleteAll", fromIdx, prepared, lazyKeys);
@@ -1766,7 +1791,7 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
int idx = 1;
for (String col : cols)
- loadColIdxs.put(col, idx++);
+ loadColIdxs.put(col.toUpperCase(), idx++);
loadCacheQry = dialect.loadCacheQuery(fullTblName, cols);
http://git-wip-us.apache.org/repos/asf/ignite/blob/98914fef/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
index b9a3118..798b84a 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
@@ -151,7 +151,9 @@ public class CacheJdbcPojoStore<K, V> extends CacheAbstractJdbcStore<K, V> {
try {
JdbcTypeField field = fields[0];
- return getColumnValue(rs, loadColIdxs.get(field.getDatabaseFieldName()), field.getJavaFieldType());
+ Integer colIdx = columnIndex(loadColIdxs, field.getDatabaseFieldName());
+
+ return getColumnValue(rs, colIdx, field.getJavaFieldType());
}
catch (SQLException e) {
throw new CacheLoaderException("Failed to read object of class: " + typeName, e);
@@ -195,9 +197,9 @@ public class CacheJdbcPojoStore<K, V> extends CacheAbstractJdbcStore<K, V> {
throw new IllegalStateException("Failed to find property in POJO class [type=" + typeName +
", prop=" + fldJavaName + "]");
- String fldDbName = fld.getDatabaseFieldName();
+ String dbName = fld.getDatabaseFieldName();
- Integer colIdx = loadColIdxs.get(fldDbName);
+ Integer colIdx = columnIndex(loadColIdxs, dbName);
try {
Object colVal = getColumnValue(rs, colIdx, fld.getJavaFieldType());
@@ -207,12 +209,12 @@ public class CacheJdbcPojoStore<K, V> extends CacheAbstractJdbcStore<K, V> {
}
catch (Exception e) {
throw new CacheLoaderException("Failed to set property in POJO class [type=" + typeName +
- ", prop=" + fldJavaName + ", col=" + colIdx + ", dbName=" + fldDbName + "]", e);
+ ", prop=" + fldJavaName + ", col=" + colIdx + ", dbName=" + dbName + "]", e);
}
}
catch (SQLException e) {
throw new CacheLoaderException("Failed to read object property [type= " + typeName +
- ", prop=" + fldJavaName + ", col=" + colIdx + ", dbName=" + fldDbName + "]", e);
+ ", prop=" + fldJavaName + ", col=" + colIdx + ", dbName=" + dbName + "]", e);
}
}
@@ -244,7 +246,7 @@ public class CacheJdbcPojoStore<K, V> extends CacheAbstractJdbcStore<K, V> {
Collection<Object> hashValues = calcHash ? new ArrayList<>(hashFields.size()) : null;
for (JdbcTypeField field : fields) {
- Integer colIdx = loadColIdxs.get(field.getDatabaseFieldName());
+ Integer colIdx = columnIndex(loadColIdxs, field.getDatabaseFieldName());
Object colVal = getColumnValue(rs, colIdx, field.getJavaFieldType());
@@ -370,8 +372,8 @@ public class CacheJdbcPojoStore<K, V> extends CacheAbstractJdbcStore<K, V> {
*
* @param obj Object to get property value from.
* @return Property value.
- * @throws IllegalAccessException
- * @throws InvocationTargetException
+ * @throws IllegalAccessException If failed to get value from property or failed access to property via reflection.
+ * @throws InvocationTargetException If failed access to property via reflection.
*/
private Object get(Object obj) throws IllegalAccessException, InvocationTargetException {
if (getter != null)
@@ -388,8 +390,8 @@ public class CacheJdbcPojoStore<K, V> extends CacheAbstractJdbcStore<K, V> {
*
* @param obj Object to set property value to.
* @param val New property value to set.
- * @throws IllegalAccessException
- * @throws InvocationTargetException
+ * @throws IllegalAccessException If failed to set property value or failed access to property via reflection.
+ * @throws InvocationTargetException If failed access to property via reflection.
*/
private void set(Object obj, Object val) throws IllegalAccessException, InvocationTargetException {
if (setter != null)
http://git-wip-us.apache.org/repos/asf/ignite/blob/98914fef/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java
index 41a6136..e8592d7 100644
--- a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java
@@ -26,6 +26,7 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.Random;
+import javax.cache.integration.CacheLoaderException;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.store.jdbc.dialect.H2Dialect;
import org.apache.ignite.cache.store.jdbc.model.Person;
@@ -77,7 +78,7 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
/**
* @return Connection to test in-memory H2 database.
- * @throws SQLException
+ * @throws SQLException if failed to connect.
*/
protected Connection getConnection() throws SQLException {
return DriverManager.getConnection(DFLT_CONN_URL, "sa", "");
@@ -164,9 +165,9 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
storeTypes[0].setValueType("org.apache.ignite.cache.store.jdbc.model.Organization" + (noValClasses ? "1" : ""));
storeTypes[0].setValueFields(
- new JdbcTypeField(Types.INTEGER, "ID", Integer.class, "id"),
- new JdbcTypeField(Types.VARCHAR, "NAME", String.class, "name"),
- new JdbcTypeField(Types.VARCHAR, "CITY", String.class, "city"));
+ new JdbcTypeField(Types.INTEGER, "Id", Integer.class, "id"),
+ new JdbcTypeField(Types.VARCHAR, "Name", String.class, "name"),
+ new JdbcTypeField(Types.VARCHAR, "City", String.class, "city"));
storeTypes[1] = new JdbcType();
storeTypes[1].setCacheName(CACHE_NAME);
@@ -273,7 +274,7 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
* @param noKeyCls {@code True} if keys classes are not on class path.
* @param noValCls {@code True} if values classes are not on class path.
* @param trn {@code True} if cache should be started in transactional mode.
- * @throws Exception
+ * @throws Exception If failed to start grid.
*/
protected void startTestGrid(boolean builtin, boolean noKeyCls, boolean noValCls, boolean trn) throws Exception {
builtinKeys = builtin;
@@ -287,7 +288,7 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
/**
* Check that data was loaded correctly.
*/
- protected void checkCacheContent() {
+ protected void checkCacheLoad() {
IgniteCache<Object, Object> c1 = grid().cache(CACHE_NAME);
c1.loadCache(null);
@@ -296,12 +297,32 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
}
/**
+ * Check that data was loaded correctly.
+ */
+ protected void checkCacheLoadWithSql() {
+ IgniteCache<Object, Object> c1 = grid().cache(CACHE_NAME);
+
+ c1.loadCache(null, "org.apache.ignite.cache.store.jdbc.model.PersonKey", "select id, org_id, name, birthday from Person");
+
+ assertEquals(PERSON_CNT, c1.size());
+ }
+
+ /**
* @throws Exception If failed.
*/
public void testLoadCache() throws Exception {
startTestGrid(false, false, false, false);
- checkCacheContent();
+ checkCacheLoad();
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testLoadCacheWithSql() throws Exception {
+ startTestGrid(false, false, false, false);
+
+ checkCacheLoadWithSql();
}
/**
@@ -310,7 +331,16 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
public void testLoadCacheTx() throws Exception {
startTestGrid(false, false, false, true);
- checkCacheContent();
+ checkCacheLoad();
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testLoadCacheWithSqlTx() throws Exception {
+ startTestGrid(false, false, false, true);
+
+ checkCacheLoadWithSql();
}
/**
@@ -319,7 +349,7 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
public void testLoadCachePrimitiveKeys() throws Exception {
startTestGrid(true, false, false, false);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -328,7 +358,7 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
public void testLoadCachePrimitiveKeysTx() throws Exception {
startTestGrid(true, false, false, true);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -431,4 +461,24 @@ public abstract class CacheJdbcPojoStoreAbstractSelfTest extends GridCommonAbstr
checkPut();
}
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testLoadNotRegisteredType() throws Exception {
+ startTestGrid(false, false, false, false);
+
+ IgniteCache<Object, Object> c1 = grid().cache(CACHE_NAME);
+
+ try {
+ c1.loadCache(null, "PersonKeyWrong", "SELECT * FROM Person");
+ }
+ catch (CacheLoaderException e) {
+ String msg = e.getMessage();
+
+ assertTrue("Unexpected exception: " + msg,
+ ("Provided key type is not found in store or cache configuration " +
+ "[cache=" + CACHE_NAME + ", key=PersonKeyWrong]").equals(msg));
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/98914fef/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreBinaryMarshallerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreBinaryMarshallerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreBinaryMarshallerSelfTest.java
index b825a24..f998027 100644
--- a/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreBinaryMarshallerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreBinaryMarshallerSelfTest.java
@@ -35,7 +35,7 @@ public class CacheJdbcPojoStoreBinaryMarshallerSelfTest extends CacheJdbcPojoSto
public void testLoadCacheNoKeyClasses() throws Exception {
startTestGrid(false, true, false, false);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -44,7 +44,7 @@ public class CacheJdbcPojoStoreBinaryMarshallerSelfTest extends CacheJdbcPojoSto
public void testLoadCacheNoKeyClassesTx() throws Exception {
startTestGrid(false, true, false, true);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -53,7 +53,7 @@ public class CacheJdbcPojoStoreBinaryMarshallerSelfTest extends CacheJdbcPojoSto
public void testLoadCacheNoValueClasses() throws Exception {
startTestGrid(false, false, true, false);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -62,7 +62,7 @@ public class CacheJdbcPojoStoreBinaryMarshallerSelfTest extends CacheJdbcPojoSto
public void testLoadCacheNoValueClassesTx() throws Exception {
startTestGrid(false, false, true, true);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -71,7 +71,7 @@ public class CacheJdbcPojoStoreBinaryMarshallerSelfTest extends CacheJdbcPojoSto
public void testLoadCacheNoKeyAndValueClasses() throws Exception {
startTestGrid(false, true, true, false);
- checkCacheContent();
+ checkCacheLoad();
}
/**
@@ -80,6 +80,6 @@ public class CacheJdbcPojoStoreBinaryMarshallerSelfTest extends CacheJdbcPojoSto
public void testLoadCacheNoKeyAndValueClassesTx() throws Exception {
startTestGrid(false, true, true, true);
- checkCacheContent();
+ checkCacheLoad();
}
}
[09/12] ignite git commit: IGNITE-3890: IGFS: Simplified
IgfsInputStream hierarchy (2).
Posted by ak...@apache.org.
IGNITE-3890: IGFS: Simplified IgfsInputStream hierarchy (2).
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/409f043b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/409f043b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/409f043b
Branch: refs/heads/master
Commit: 409f043b3e94f51aa23341b7283233a572be6cd2
Parents: 16c5a71
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Sep 14 11:01:33 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Sep 14 11:01:33 2016 +0300
----------------------------------------------------------------------
.../internal/processors/igfs/IgfsAsyncImpl.java | 5 -
.../internal/processors/igfs/IgfsContext.java | 27 ++++
.../processors/igfs/IgfsDataManager.java | 19 +--
.../ignite/internal/processors/igfs/IgfsEx.java | 8 --
.../internal/processors/igfs/IgfsImpl.java | 143 ++-----------------
.../processors/igfs/IgfsInputStreamImpl.java | 103 ++++++-------
.../processors/igfs/IgfsOutputStreamImpl.java | 8 +-
.../internal/processors/igfs/IgfsMock.java | 7 -
8 files changed, 100 insertions(+), 220 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
index 743601e..106ef60 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
@@ -157,11 +157,6 @@ public class IgfsAsyncImpl extends AsyncSupportAdapter<IgniteFileSystem> impleme
}
/** {@inheritDoc} */
- @Override public IgfsLocalMetrics localMetrics() {
- return igfs.localMetrics();
- }
-
- /** {@inheritDoc} */
@Override public long groupBlockSize() {
return igfs.groupBlockSize();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
index a638bf3..3e01246 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsContext.java
@@ -54,6 +54,12 @@ public class IgfsContext {
/** IGFS instance. */
private final IgfsEx igfs;
+ /** Local metrics holder. */
+ private final IgfsLocalMetrics metrics = new IgfsLocalMetrics();
+
+ /** Local cluster node. */
+ private volatile ClusterNode locNode;
+
/**
* @param ctx Kernal context.
* @param cfg IGFS configuration.
@@ -179,6 +185,27 @@ public class IgfsContext {
}
/**
+ * Get local metrics.
+ *
+ * @return Local metrics.
+ */
+ public IgfsLocalMetrics metrics() {
+ return metrics;
+ }
+
+ /**
+ * Get local node.
+ *
+ * @return Local node.
+ */
+ public ClusterNode localNode() {
+ if (locNode == null)
+ locNode = ctx.discovery().localNode();
+
+ return locNode;
+ }
+
+ /**
* Adds manager to managers list.
*
* @param mgr Manager.
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
index 5e2c6b2..d2183f9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsDataManager.java
@@ -105,9 +105,6 @@ public class IgfsDataManager extends IgfsManager {
/** */
private CountDownLatch dataCacheStartLatch;
- /** Local IGFS metrics. */
- private IgfsLocalMetrics metrics;
-
/** Group block size. */
private long grpBlockSize;
@@ -201,8 +198,6 @@ public class IgfsDataManager extends IgfsManager {
dataCache = (IgniteInternalCache)dataCachePrj;
- metrics = igfsCtx.igfs().localMetrics();
-
AffinityKeyMapper mapper = igfsCtx.kernalContext().cache()
.internalCache(igfsCtx.configuration().getDataCacheName()).configuration().getAffinityMapper();
@@ -388,7 +383,7 @@ public class IgfsDataManager extends IgfsManager {
putBlock(fileInfo.blockSize(), key, res);
- metrics.addReadBlocks(1, 1);
+ igfsCtx.metrics().addReadBlocks(1, 1);
}
catch (IgniteCheckedException e) {
rmtReadFut.onDone(e);
@@ -405,18 +400,18 @@ public class IgfsDataManager extends IgfsManager {
// Wait for existing future to finish and get it's result.
res = oldRmtReadFut.get();
- metrics.addReadBlocks(1, 0);
+ igfsCtx.metrics().addReadBlocks(1, 0);
}
}
else
- metrics.addReadBlocks(1, 0);
+ igfsCtx.metrics().addReadBlocks(1, 0);
return res;
}
});
}
else
- metrics.addReadBlocks(1, 0);
+ igfsCtx.metrics().addReadBlocks(1, 0);
return fut;
}
@@ -1308,7 +1303,7 @@ public class IgfsDataManager extends IgfsManager {
if (!nodeBlocks.isEmpty()) {
processBatch(id, node, nodeBlocks);
- metrics.addWriteBlocks(1, 0);
+ igfsCtx.metrics().addWriteBlocks(1, 0);
}
return portion;
@@ -1350,7 +1345,7 @@ public class IgfsDataManager extends IgfsManager {
else
nodeBlocks.put(key, portion);
- metrics.addWriteBlocks(writtenTotal, writtenSecondary);
+ igfsCtx.metrics().addWriteBlocks(writtenTotal, writtenSecondary);
written += portion.length;
}
@@ -1359,7 +1354,7 @@ public class IgfsDataManager extends IgfsManager {
if (!nodeBlocks.isEmpty()) {
processBatch(id, node, nodeBlocks);
- metrics.addWriteBlocks(nodeBlocks.size(), 0);
+ igfsCtx.metrics().addWriteBlocks(nodeBlocks.size(), 0);
}
assert written == len;
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
index 05e157d..c869695 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.igfs;
import java.net.URI;
import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteFileSystem;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystem;
@@ -75,13 +74,6 @@ public interface IgfsEx extends IgniteFileSystem {
@Nullable public Boolean globalSampling();
/**
- * Get local metrics.
- *
- * @return Local metrics.
- */
- public IgfsLocalMetrics localMetrics();
-
- /**
* Gets group block size, i.e. block size multiplied by group size in affinity mapper.
*
* @return Group block size.
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
index 2c1f0f3..45596a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
@@ -24,7 +24,6 @@ import org.apache.ignite.IgniteFileSystem;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cache.eviction.EvictionPolicy;
import org.apache.ignite.cache.eviction.igfs.IgfsPerBlockLruEvictionPolicy;
-import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.compute.ComputeJob;
import org.apache.ignite.compute.ComputeJobAdapter;
import org.apache.ignite.compute.ComputeJobResult;
@@ -48,7 +47,6 @@ import org.apache.ignite.igfs.IgfsPathSummary;
import org.apache.ignite.igfs.mapreduce.IgfsRecordResolver;
import org.apache.ignite.igfs.mapreduce.IgfsTask;
import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystem;
-import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystemPositionedReadable;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
@@ -72,7 +70,6 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.A;
import org.apache.ignite.internal.util.typedef.internal.LT;
-import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteFuture;
@@ -83,7 +80,6 @@ import org.apache.ignite.thread.IgniteThreadPoolExecutor;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
-import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import java.util.ArrayList;
@@ -97,12 +93,10 @@ import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import static org.apache.ignite.events.EventType.EVT_IGFS_DIR_DELETED;
-import static org.apache.ignite.events.EventType.EVT_IGFS_FILE_CLOSED_READ;
import static org.apache.ignite.events.EventType.EVT_IGFS_FILE_DELETED;
import static org.apache.ignite.events.EventType.EVT_IGFS_FILE_OPENED_READ;
import static org.apache.ignite.events.EventType.EVT_IGFS_META_UPDATED;
@@ -142,9 +136,6 @@ public final class IgfsImpl implements IgfsEx {
/** Event storage manager. */
private GridEventStorageManager evts;
- /** Local node. */
- private ClusterNode locNode;
-
/** Logger. */
private IgniteLogger log;
@@ -285,16 +276,6 @@ public final class IgfsImpl implements IgfsEx {
new LinkedBlockingQueue<Runnable>(), new IgfsThreadFactory(cfg.getName()), null) : null;
}
- /**
- * @return Local node.
- */
- private ClusterNode localNode() {
- if (locNode == null)
- locNode = igfsCtx.kernalContext().discovery().localNode();
-
- return locNode;
- }
-
/** {@inheritDoc} */
@Override public void stop(boolean cancel) {
busyLock.block();
@@ -500,12 +481,6 @@ public final class IgfsImpl implements IgfsEx {
}
});
}
-
- /** {@inheritDoc} */
- @Override public IgfsLocalMetrics localMetrics() {
- return metrics;
- }
-
/** {@inheritDoc} */
@Override public long groupBlockSize() {
return data.groupBlockSize();
@@ -632,7 +607,7 @@ public final class IgfsImpl implements IgfsEx {
if (info != null) {
if (evts.isRecordable(EVT_IGFS_META_UPDATED))
- evts.record(new IgfsEvent(path, localNode(), EVT_IGFS_META_UPDATED, props));
+ evts.record(new IgfsEvent(path, igfsCtx.localNode(), EVT_IGFS_META_UPDATED, props));
return new IgfsFileImpl(path, info, data.groupBlockSize());
}
@@ -979,8 +954,8 @@ public final class IgfsImpl implements IgfsEx {
IgfsSecondaryInputStreamDescriptor desc = meta.openDual(secondaryFs, path, bufSize0);
- IgfsEventAwareInputStream os = new IgfsEventAwareInputStream(igfsCtx, path, desc.info(),
- cfg.getPrefetchBlocks(), seqReadsBeforePrefetch, desc.reader(), metrics);
+ IgfsInputStreamImpl os = new IgfsInputStreamImpl(igfsCtx, path, desc.info(),
+ cfg.getPrefetchBlocks(), seqReadsBeforePrefetch, desc.reader());
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ);
@@ -996,8 +971,8 @@ public final class IgfsImpl implements IgfsEx {
throw new IgfsPathIsDirectoryException("Failed to open file (not a file): " + path);
// Input stream to read data from grid cache with separate blocks.
- IgfsEventAwareInputStream os = new IgfsEventAwareInputStream(igfsCtx, path, info,
- cfg.getPrefetchBlocks(), seqReadsBeforePrefetch, null, metrics);
+ IgfsInputStreamImpl os = new IgfsInputStreamImpl(igfsCtx, path, info,
+ cfg.getPrefetchBlocks(), seqReadsBeforePrefetch, null);
IgfsUtils.sendEvents(igfsCtx.kernalContext(), path, EVT_IGFS_FILE_OPENED_READ);
@@ -1266,6 +1241,8 @@ public final class IgfsImpl implements IgfsEx {
}
}
+ IgfsLocalMetrics metrics = igfsCtx.metrics();
+
return new IgfsMetricsAdapter(
igfsCtx.data().spaceSize(),
igfsCtx.data().maxSpaceSize(),
@@ -1288,7 +1265,7 @@ public final class IgfsImpl implements IgfsEx {
/** {@inheritDoc} */
@Override public void resetMetrics() {
- metrics.reset();
+ igfsCtx.metrics().reset();
}
/** {@inheritDoc} */
@@ -1592,110 +1569,6 @@ public final class IgfsImpl implements IgfsEx {
throw new IllegalStateException("Asynchronous mode is not enabled.");
}
- /** Detailed file descriptor. */
- private static final class FileDescriptor {
- /** Parent file ID. */
- @Nullable
- private final IgniteUuid parentId;
-
- /** File name. */
- private final String fileName;
-
- /** File ID. */
- private final IgniteUuid fileId;
-
- /** File is plain data file or directory. */
- private final boolean isFile;
-
- /**
- * Constructs detailed file descriptor.
- *
- * @param parentId Parent file ID.
- * @param fileName File name.
- * @param fileId File ID.
- * @param isFile {@code True} if file.
- */
- private FileDescriptor(@Nullable IgniteUuid parentId, String fileName, IgniteUuid fileId, boolean isFile) {
- assert fileName != null;
-
- this.parentId = parentId;
- this.fileName = fileName;
-
- this.fileId = fileId;
- this.isFile = isFile;
- }
-
- /** {@inheritDoc} */
- @Override public int hashCode() {
- int res = parentId != null ? parentId.hashCode() : 0;
-
- res = 31 * res + fileName.hashCode();
- res = 31 * res + fileId.hashCode();
- res = 31 * res + (isFile ? 1231 : 1237);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public boolean equals(Object o) {
- if (o == this)
- return true;
-
- if (o == null || getClass() != o.getClass())
- return false;
-
- FileDescriptor that = (FileDescriptor)o;
-
- return fileId.equals(that.fileId) && isFile == that.isFile && fileName.equals(that.fileName) &&
- (parentId == null ? that.parentId == null : parentId.equals(that.parentId));
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(FileDescriptor.class, this);
- }
- }
-
- /**
- * IGFS input stream extension that fires events.
- */
- private class IgfsEventAwareInputStream extends IgfsInputStreamImpl {
- /** Close guard. */
- private final AtomicBoolean closeGuard = new AtomicBoolean(false);
-
- /**
- * Constructor.
- *
- * @param igfsCtx IGFS context.
- * @param path Path to stored file.
- * @param fileInfo File info.
- * @param prefetchBlocks Prefetch blocks.
- * @param seqReadsBeforePrefetch Amount of sequential reads before prefetch is triggered.
- * @param secReader Optional secondary file system reader.
- * @param metrics Metrics.
- */
- IgfsEventAwareInputStream(IgfsContext igfsCtx, IgfsPath path, IgfsEntryInfo fileInfo,
- int prefetchBlocks, int seqReadsBeforePrefetch, @Nullable IgfsSecondaryFileSystemPositionedReadable secReader,
- IgfsLocalMetrics metrics) {
- super(igfsCtx, path, fileInfo, prefetchBlocks, seqReadsBeforePrefetch, secReader, metrics);
-
- metrics.incrementFilesOpenedForRead();
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
- @Override public void close() throws IOException {
- if (closeGuard.compareAndSet(false, true)) {
- super.close();
-
- metrics.decrementFilesOpenedForRead();
-
- if (evts.isRecordable(EVT_IGFS_FILE_CLOSED_READ))
- evts.record(new IgfsEvent(path, localNode(), EVT_IGFS_FILE_CLOSED_READ, bytes()));
- }
- }
- }
-
/**
* Space calculation task.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
index f20a423..2f9f2fc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
@@ -19,12 +19,14 @@ package org.apache.ignite.internal.processors.igfs;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.events.IgfsEvent;
import org.apache.ignite.igfs.IgfsCorruptedFileException;
import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.igfs.IgfsPathNotFoundException;
import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystemPositionedReadable;
import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -43,6 +45,8 @@ import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
+import static org.apache.ignite.events.EventType.EVT_IGFS_FILE_CLOSED_READ;
+
/**
* Input stream to read data from grid cache with separate blocks.
*/
@@ -50,11 +54,8 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
/** Empty chunks result. */
private static final byte[][] EMPTY_CHUNKS = new byte[0][];
- /** Meta manager. */
- private final IgfsMetaManager meta;
-
- /** Data manager. */
- private final IgfsDataManager data;
+ /** IGFS context. */
+ private final IgfsContext igfsCtx;
/** Secondary file system reader. */
@SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
@@ -108,9 +109,6 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
/** Time consumed on reading. */
private long time;
- /** Local IGFS metrics. */
- private final IgfsLocalMetrics metrics;
-
/**
* Constructs file output stream.
*
@@ -120,24 +118,19 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
* @param prefetchBlocks Number of blocks to prefetch.
* @param seqReadsBeforePrefetch Amount of sequential reads before prefetch is triggered.
* @param secReader Optional secondary file system reader.
- * @param metrics Local IGFS metrics.
*/
IgfsInputStreamImpl(IgfsContext igfsCtx, IgfsPath path, IgfsEntryInfo fileInfo, int prefetchBlocks,
- int seqReadsBeforePrefetch, @Nullable IgfsSecondaryFileSystemPositionedReadable secReader, IgfsLocalMetrics metrics) {
+ int seqReadsBeforePrefetch, @Nullable IgfsSecondaryFileSystemPositionedReadable secReader) {
assert igfsCtx != null;
assert path != null;
assert fileInfo != null;
- assert metrics != null;
+ this.igfsCtx = igfsCtx;
this.path = path;
this.fileInfo = fileInfo;
this.prefetchBlocks = prefetchBlocks;
this.seqReadsBeforePrefetch = seqReadsBeforePrefetch;
this.secReader = secReader;
- this.metrics = metrics;
-
- meta = igfsCtx.meta();
- data = igfsCtx.data();
log = igfsCtx.kernalContext().log(IgfsInputStream.class);
@@ -146,6 +139,8 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
locCache = new LinkedHashMap<>(maxLocCacheSize, 1.0f);
pendingFuts = new GridConcurrentHashSet<>(prefetchBlocks > 0 ? prefetchBlocks : 1);
+
+ igfsCtx.metrics().incrementFilesOpenedForRead();
}
/**
@@ -295,46 +290,56 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
/** {@inheritDoc} */
@Override public synchronized void close() throws IOException {
- try {
- if (secReader != null) {
- // Close secondary input stream.
- secReader.close();
-
- // Ensuring local cache futures completion.
- for (IgniteInternalFuture<byte[]> fut : locCache.values()) {
- try {
- fut.get();
- }
- catch (IgniteCheckedException ignore) {
- // No-op.
+ if (!closed) {
+ try {
+ if (secReader != null) {
+ // Close secondary input stream.
+ secReader.close();
+
+ // Ensuring local cache futures completion.
+ for (IgniteInternalFuture<byte[]> fut : locCache.values()) {
+ try {
+ fut.get();
+ }
+ catch (IgniteCheckedException ignore) {
+ // No-op.
+ }
}
- }
- // Ensuring pending evicted futures completion.
- while (!pendingFuts.isEmpty()) {
- pendingFutsLock.lock();
+ // Ensuring pending evicted futures completion.
+ while (!pendingFuts.isEmpty()) {
+ pendingFutsLock.lock();
- try {
- pendingFutsCond.await(100, TimeUnit.MILLISECONDS);
- }
- catch (InterruptedException ignore) {
- // No-op.
- }
- finally {
- pendingFutsLock.unlock();
+ try {
+ pendingFutsCond.await(100, TimeUnit.MILLISECONDS);
+ }
+ catch (InterruptedException ignore) {
+ // No-op.
+ }
+ finally {
+ pendingFutsLock.unlock();
+ }
}
}
}
- }
- catch (Exception e) {
- throw new IOException("File to close the file: " + path, e);
- }
- finally {
- closed = true;
+ catch (Exception e) {
+ throw new IOException("File to close the file: " + path, e);
+ }
+ finally {
+ closed = true;
+
+ IgfsLocalMetrics metrics = igfsCtx.metrics();
+
+ metrics.addReadBytesTime(bytes, time);
+ metrics.decrementFilesOpenedForRead();
- metrics.addReadBytesTime(bytes, time);
+ locCache.clear();
- locCache.clear();
+ GridEventStorageManager evts = igfsCtx.kernalContext().event();
+
+ if (evts.isRecordable(EVT_IGFS_FILE_CLOSED_READ))
+ evts.record(new IgfsEvent(path, igfsCtx.localNode(), EVT_IGFS_FILE_CLOSED_READ, bytes()));
+ }
}
}
@@ -408,7 +413,7 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
// This failure may be caused by file being fragmented.
if (fileInfo.fileMap() != null && !fileInfo.fileMap().ranges().isEmpty()) {
- IgfsEntryInfo newInfo = meta.info(fileInfo.id());
+ IgfsEntryInfo newInfo = igfsCtx.meta().info(fileInfo.id());
// File was deleted.
if (newInfo == null)
@@ -540,7 +545,7 @@ public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondar
*/
@Nullable protected IgniteInternalFuture<byte[]> dataBlock(IgfsEntryInfo fileInfo, long blockIdx)
throws IgniteCheckedException {
- return data.dataBlock(fileInfo, path, blockIdx, secReader);
+ return igfsCtx.data().dataBlock(fileInfo, path, blockIdx, secReader);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
index bbff93b..6dec0c1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsOutputStreamImpl.java
@@ -127,7 +127,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStream {
writeFut = igfsCtx.data().writeStart(fileInfo.id());
}
- igfsCtx.igfs().localMetrics().incrementFilesOpenedForWrite();
+ igfsCtx.metrics().incrementFilesOpenedForWrite();
}
/** {@inheritDoc} */
@@ -355,8 +355,8 @@ class IgfsOutputStreamImpl extends IgfsOutputStream {
if (err != null)
throw err;
- igfsCtx.igfs().localMetrics().addWrittenBytesTime(bytes, time);
- igfsCtx.igfs().localMetrics().decrementFilesOpenedForWrite();
+ igfsCtx.metrics().addWrittenBytesTime(bytes, time);
+ igfsCtx.metrics().decrementFilesOpenedForWrite();
GridEventStorageManager evts = igfsCtx.kernalContext().event();
@@ -396,7 +396,7 @@ class IgfsOutputStreamImpl extends IgfsOutputStream {
/**
* Send local buffer if at least something is stored there.
*
- * @throws IOException
+ * @throws IOException If failed.
*/
private void sendBufferIfNotEmpty() throws IOException {
if (buf != null && buf.position() > 0)
http://git-wip-us.apache.org/repos/asf/ignite/blob/409f043b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
index 2b989c5..04c67dc 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
@@ -117,13 +117,6 @@ public class IgfsMock implements IgfsEx {
}
/** {@inheritDoc} */
- @Override public IgfsLocalMetrics localMetrics() {
- throwUnsupported();
-
- return null;
- }
-
- /** {@inheritDoc} */
@Override public long groupBlockSize() {
throwUnsupported();
[02/12] ignite git commit: IGNITE-3868: ODBC: Fix for driver
installation. This closes #1051.
Posted by ak...@apache.org.
IGNITE-3868: ODBC: Fix for driver installation. This closes #1051.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b595991f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b595991f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b595991f
Branch: refs/heads/master
Commit: b595991fbc8eeef4bf7f8bf1e4e096c6c1f88488
Parents: b5121ad
Author: Igor Sapego <is...@gridgain.com>
Authored: Fri Sep 9 12:13:26 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Sep 9 12:13:26 2016 +0300
----------------------------------------------------------------------
.../cache/GridCacheAbstractFullApiSelfTest.java | 2 +-
.../cpp/odbc/install/ignite-odbc-install.ini | 1 +
.../cpp/odbc/install/install_amd64.cmd | 22 +++++++++++---------
.../platforms/cpp/odbc/install/install_x86.cmd | 11 +++++-----
4 files changed, 20 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b595991f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 3f4d812..a31c82e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -296,7 +296,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
for (int i = 0; i < gridCount(); i++) {
Boolean clientMode = grid(i).configuration().isClientMode();
- if (clientMode)
+ if (clientMode != null && clientMode) // Can be null in multi jvm tests.
continue;
grid(0).services(grid(0).cluster()).deployNodeSingleton(SERVICE_NAME1, new DummyServiceImpl());
http://git-wip-us.apache.org/repos/asf/ignite/blob/b595991f/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini b/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
index 2de265a..f512fb4 100644
--- a/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
+++ b/modules/platforms/cpp/odbc/install/ignite-odbc-install.ini
@@ -1,5 +1,6 @@
[Apache Ignite]
Description=Apache Ignite
Driver=/usr/local/lib/libignite-odbc.so
+Setup=/usr/local/lib/libignite-odbc.so
DriverODBCVer=03.00
FileUsage=0
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/b595991f/modules/platforms/cpp/odbc/install/install_amd64.cmd
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/install/install_amd64.cmd b/modules/platforms/cpp/odbc/install/install_amd64.cmd
index 8a0391f..3b4b63f 100644
--- a/modules/platforms/cpp/odbc/install/install_amd64.cmd
+++ b/modules/platforms/cpp/odbc/install/install_amd64.cmd
@@ -7,17 +7,18 @@ if [%ODBC_AMD64%] == [] (
echo error: 64-bit driver is not specified. Call format: install_amd64 abs_path_to_64_bit_driver [abs_path_to_32_bit_driver]
pause
exit /b 1
-) else if exist "%ODBC_AMD64%" (
- if exist "%ODBC_AMD64%\" (
+) else if exist %ODBC_AMD64% (
+ if exist %ODBC_AMD64%\ (
echo warning: The path you have specified seems to be a directory. Note that you have to specify path to driver file itself instead.
)
- echo Installing 64-bit driver: "%ODBC_AMD64%"
+ echo Installing 64-bit driver: %ODBC_AMD64%
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v DriverODBCVer /t REG_SZ /d "03.80" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v UsageCount /t REG_DWORD /d 00000001 /f
- reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ /d "%ODBC_AMD64%" /f
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ /d %ODBC_AMD64% /f
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Setup /t REG_SZ /d %ODBC_AMD64% /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Ignite" /t REG_SZ /d "Installed" /f
) else (
- echo 64-bit driver can not be found: "%ODBC_AMD64%"
+ echo 64-bit driver can not be found: %ODBC_AMD64%
echo Call format: install_amd64 abs_path_to_64_bit_driver [abs_path_to_32_bit_driver]
pause
exit /b 1
@@ -25,16 +26,17 @@ if [%ODBC_AMD64%] == [] (
if [%ODBC_X86%] == [] (
echo warning: 32-bit driver is not specified. If you want to install 32-bit driver please specify path to it as a second argument.
-) else if exist "%ODBC_X86%" (
- if exist "%ODBC_X86%\" (
+) else if exist %ODBC_X86% (
+ if exist %ODBC_X86%\ (
echo warning: The path you have specified seems to be a directory. Note that you have to specify path to driver file itself instead.
)
- echo Installing 32-bit driver: "%ODBC_X86%"
+ echo Installing 32-bit driver: %ODBC_X86%
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v DriverODBCVer /t REG_SZ /d "03.80" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v UsageCount /t REG_DWORD /d 00000001 /f
- reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ /d "%ODBC_X86%" /f
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ /d %ODBC_X86% /f
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Apache Ignite" /v Setup /t REG_SZ /d %ODBC_X86% /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Ignite" /t REG_SZ /d "Installed" /f
) else (
- echo warning: 32-bit driver can not be found: "%ODBC_X86%"
+ echo warning: 32-bit driver can not be found: %ODBC_X86%
)
http://git-wip-us.apache.org/repos/asf/ignite/blob/b595991f/modules/platforms/cpp/odbc/install/install_x86.cmd
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/odbc/install/install_x86.cmd b/modules/platforms/cpp/odbc/install/install_x86.cmd
index 74eea0a..93ced4b 100644
--- a/modules/platforms/cpp/odbc/install/install_x86.cmd
+++ b/modules/platforms/cpp/odbc/install/install_x86.cmd
@@ -5,17 +5,18 @@ set ODBC=%1
if [%ODBC%] == [] (
echo error: driver is not specified. Call format: install_x86 abs_path_to_driver.
pause
-) else if exist "%ODBC%" (
- if exist "%ODBC%\" (
+) else if exist %ODBC% (
+ if exist %ODBC%\ (
echo warning: The path you have specified seems to be a directory. Note that you have to specify path to driver file itself instead.
)
- echo Installing driver: "%ODBC%"
+ echo Installing driver: %ODBC%
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v DriverODBCVer /t REG_SZ /d "03.80" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v UsageCount /t REG_DWORD /d 00000001 /f
- reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ /d "%ODBC%" /f
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Driver /t REG_SZ /d %ODBC% /f
+ reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Ignite" /v Setup /t REG_SZ /d %ODBC% /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Ignite" /t REG_SZ /d "Installed" /f
) else (
- echo Driver can not be found: "%ODBC%"
+ echo Driver can not be found: %ODBC%
echo Call format: install_x86 abs_path_to_driver
pause
)
[05/12] ignite git commit: IGNITE-3831: CPP: Added distributed joins
query example. This closes #1035.
Posted by ak...@apache.org.
IGNITE-3831: CPP: Added distributed joins query example. This closes #1035.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fc6f8797
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fc6f8797
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fc6f8797
Branch: refs/heads/master
Commit: fc6f8797ed5a22820a8cf0df0482dc09e2df6731
Parents: 35d6a56
Author: Igor Sapego <is...@gridgain.com>
Authored: Tue Sep 13 14:57:36 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Sep 13 14:57:36 2016 +0300
----------------------------------------------------------------------
.../query-example/src/query_example.cpp | 54 ++++++++++++++++++++
1 file changed, 54 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/fc6f8797/modules/platforms/cpp/examples/query-example/src/query_example.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/examples/query-example/src/query_example.cpp b/modules/platforms/cpp/examples/query-example/src/query_example.cpp
index 1bbf21b..9bf3e52 100644
--- a/modules/platforms/cpp/examples/query-example/src/query_example.cpp
+++ b/modules/platforms/cpp/examples/query-example/src/query_example.cpp
@@ -43,6 +43,57 @@ const char* PERSON_CACHE = "Person";
const char* PERSON_TYPE = "Person";
/**
+ * Example for SQL queries based on all employees working for a specific
+ * organization (query uses distributed join).
+ */
+void DoSqlQueryWithDistributedJoin()
+{
+ typedef std::vector< CacheEntry<int64_t, Person> > ResVector;
+
+ Cache<int64_t, Person> cache = Ignition::Get().GetCache<int64_t, Person>(PERSON_CACHE);
+
+ // SQL clause query which joins on 2 types to select people for a specific organization.
+ std::string joinSql(
+ "from Person, \"Organization\".Organization as org "
+ "where Person.orgId = org._key "
+ "and lower(org.name) = lower(?)");
+
+ SqlQuery qry("Person", joinSql);
+
+ qry.AddArgument<std::string>("ApacheIgnite");
+
+ // Enable distributed joins for query.
+ qry.SetDistributedJoins(true);
+
+ // Execute queries for find employees for different organizations.
+ ResVector igniters;
+ cache.Query(qry).GetAll(igniters);
+
+ // Printing first result set.
+ std::cout << "Following people are 'ApacheIgnite' employees (distributed join): " << std::endl;
+
+ for (ResVector::const_iterator i = igniters.begin(); i != igniters.end(); ++i)
+ std::cout << i->GetKey() << " : " << i->GetValue().ToString() << std::endl;
+
+ std::cout << std::endl;
+
+ qry = SqlQuery("Person", joinSql);
+
+ qry.AddArgument<std::string>("Other");
+
+ ResVector others;
+ cache.Query(qry).GetAll(others);
+
+ // Printing second result set.
+ std::cout << "Following people are 'Other' employees (distributed join): " << std::endl;
+
+ for (ResVector::const_iterator i = others.begin(); i != others.end(); ++i)
+ std::cout << i->GetKey() << " : " << i->GetValue().ToString() << std::endl;
+
+ std::cout << std::endl;
+}
+
+/**
* Example for SQL-based fields queries that return only required
* fields instead of whole key-value pairs.
*
@@ -374,6 +425,9 @@ int main()
// Example for SQL-based querying employees for a given organization (includes SQL join).
DoSqlQueryWithJoin();
+ // Example for SQL-based querying employees for a given organization (includes distributed SQL join).
+ DoSqlQueryWithDistributedJoin();
+
// Example for TEXT-based querying for a given string in peoples resumes.
DoTextQuery();
[08/12] ignite git commit: IGNITE-3890: IGFS: Simplified
IgfsInputStream hierarchy.
Posted by ak...@apache.org.
IGNITE-3890: IGFS: Simplified IgfsInputStream hierarchy.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/16c5a715
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/16c5a715
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/16c5a715
Branch: refs/heads/master
Commit: 16c5a715889322d31ed95a2a29206d3a909aa7b7
Parents: 43f65fe
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Sep 13 18:00:31 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Sep 13 18:00:31 2016 +0300
----------------------------------------------------------------------
.../internal/processors/igfs/IgfsAsyncImpl.java | 7 +--
.../ignite/internal/processors/igfs/IgfsEx.java | 10 ----
.../internal/processors/igfs/IgfsImpl.java | 11 +++--
.../processors/igfs/IgfsInputStreamAdapter.java | 51 --------------------
.../processors/igfs/IgfsInputStreamImpl.java | 17 +++++--
.../processors/igfs/IgfsIpcHandler.java | 7 +--
.../igfs/IgfsSecondaryFileSystemImpl.java | 2 +-
.../processors/igfs/IgfsMetricsSelfTest.java | 21 +++-----
.../internal/processors/igfs/IgfsMock.java | 8 +--
.../hadoop/igfs/HadoopIgfsInProc.java | 12 ++---
.../hadoop/HadoopCommandLineTest.java | 4 +-
11 files changed, 47 insertions(+), 103 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
index 07b070e..743601e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java
@@ -25,6 +25,7 @@ import org.apache.ignite.IgniteFileSystem;
import org.apache.ignite.configuration.FileSystemConfiguration;
import org.apache.ignite.igfs.IgfsBlockLocation;
import org.apache.ignite.igfs.IgfsFile;
+import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsMetrics;
import org.apache.ignite.igfs.IgfsMode;
import org.apache.ignite.igfs.IgfsOutputStream;
@@ -125,18 +126,18 @@ public class IgfsAsyncImpl extends AsyncSupportAdapter<IgniteFileSystem> impleme
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize,
+ @Override public IgfsInputStream open(IgfsPath path, int bufSize,
int seqReadsBeforePrefetch) {
return igfs.open(path, bufSize, seqReadsBeforePrefetch);
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path) {
+ @Override public IgfsInputStream open(IgfsPath path) {
return igfs.open(path);
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize) {
+ @Override public IgfsInputStream open(IgfsPath path, int bufSize) {
return igfs.open(path, bufSize);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
index 9760f43..05e157d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java
@@ -49,16 +49,6 @@ public interface IgfsEx extends IgniteFileSystem {
*/
public IgfsPaths proxyPaths();
- /** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize, int seqReadsBeforePrefetch)
- throws IgniteException;
-
- /** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path) throws IgniteException;
-
- /** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize) throws IgniteException;
-
/**
* Gets global space counters.
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
index 2720f24..2c1f0f3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
@@ -36,6 +36,7 @@ import org.apache.ignite.events.IgfsEvent;
import org.apache.ignite.igfs.IgfsBlockLocation;
import org.apache.ignite.igfs.IgfsException;
import org.apache.ignite.igfs.IgfsFile;
+import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsInvalidPathException;
import org.apache.ignite.igfs.IgfsMetrics;
import org.apache.ignite.igfs.IgfsMode;
@@ -948,24 +949,24 @@ public final class IgfsImpl implements IgfsEx {
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path) {
+ @Override public IgfsInputStream open(IgfsPath path) {
return open(path, cfg.getStreamBufferSize(), cfg.getSequentialReadsBeforePrefetch());
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize) {
+ @Override public IgfsInputStream open(IgfsPath path, int bufSize) {
return open(path, bufSize, cfg.getSequentialReadsBeforePrefetch());
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(final IgfsPath path, final int bufSize,
+ @Override public IgfsInputStream open(final IgfsPath path, final int bufSize,
final int seqReadsBeforePrefetch) {
A.notNull(path, "path");
A.ensure(bufSize >= 0, "bufSize >= 0");
A.ensure(seqReadsBeforePrefetch >= 0, "seqReadsBeforePrefetch >= 0");
- return safeOp(new Callable<IgfsInputStreamAdapter>() {
- @Override public IgfsInputStreamAdapter call() throws Exception {
+ return safeOp(new Callable<IgfsInputStream>() {
+ @Override public IgfsInputStream call() throws Exception {
if (log.isDebugEnabled())
log.debug("Open file for reading [path=" + path + ", bufSize=" + bufSize + ']');
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamAdapter.java
deleted file mode 100644
index 07ab051..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamAdapter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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.igfs;
-
-import org.apache.ignite.igfs.IgfsInputStream;
-import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystemPositionedReadable;
-
-import java.io.IOException;
-
-/**
- * Implementation adapter providing necessary methods.
- */
-public abstract class IgfsInputStreamAdapter extends IgfsInputStream
- implements IgfsSecondaryFileSystemPositionedReadable {
- /** {@inheritDoc} */
- @Override public long length() {
- return fileInfo().length();
- }
-
- /**
- * Gets file info for opened file.
- *
- * @return File info.
- */
- public abstract IgfsEntryInfo fileInfo();
-
- /**
- * Reads bytes from given position.
- *
- * @param pos Position to read from.
- * @param len Number of bytes to read.
- * @return Array of chunks with respect to chunk file representation.
- * @throws IOException If read failed.
- */
- public abstract byte[][] readChunks(long pos, int len) throws IOException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
index ca2f9f7..f20a423 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsInputStreamImpl.java
@@ -46,7 +46,7 @@ import java.util.concurrent.locks.ReentrantLock;
/**
* Input stream to read data from grid cache with separate blocks.
*/
-public class IgfsInputStreamImpl extends IgfsInputStreamAdapter {
+public class IgfsInputStreamImpl extends IgfsInputStream implements IgfsSecondaryFileSystemPositionedReadable {
/** Empty chunks result. */
private static final byte[][] EMPTY_CHUNKS = new byte[0][];
@@ -158,8 +158,8 @@ public class IgfsInputStreamImpl extends IgfsInputStreamAdapter {
}
/** {@inheritDoc} */
- @Override public IgfsEntryInfo fileInfo() {
- return fileInfo;
+ @Override public long length() {
+ return fileInfo.length();
}
/** {@inheritDoc} */
@@ -234,9 +234,16 @@ public class IgfsInputStreamImpl extends IgfsInputStreamAdapter {
return readFromStore(pos, buf, off, len);
}
- /** {@inheritDoc} */
+ /**
+ * Reads bytes from given position.
+ *
+ * @param pos Position to read from.
+ * @param len Number of bytes to read.
+ * @return Array of chunks with respect to chunk file representation.
+ * @throws IOException If read failed.
+ */
@SuppressWarnings("IfMayBeConditional")
- @Override public synchronized byte[][] readChunks(long pos, int len) throws IOException {
+ public synchronized byte[][] readChunks(long pos, int len) throws IOException {
// Readable bytes in the file, starting from the specified position.
long readable = fileInfo.length() - pos;
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsIpcHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsIpcHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsIpcHandler.java
index a888aff..6047604 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsIpcHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsIpcHandler.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.igfs;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsIpcEndpointConfiguration;
import org.apache.ignite.igfs.IgfsOutOfSpaceException;
import org.apache.ignite.igfs.IgfsOutputStream;
@@ -381,7 +382,7 @@ class IgfsIpcHandler implements IgfsServerHandler {
break;
case OPEN_READ: {
- IgfsInputStreamAdapter igfsIn = !req.flag() ? igfs.open(req.path(), bufSize) :
+ IgfsInputStream igfsIn = !req.flag() ? igfs.open(req.path(), bufSize) :
igfs.open(req.path(), bufSize, req.sequentialReadsBeforePrefetch());
long streamId = registerResource(ses, igfsIn);
@@ -390,7 +391,7 @@ class IgfsIpcHandler implements IgfsServerHandler {
log.debug("Opened IGFS input stream for file read [igfsName=" + igfs.name() + ", path=" +
req.path() + ", streamId=" + streamId + ", ses=" + ses + ']');
- res.response(new IgfsInputStreamDescriptor(streamId, igfsIn.fileInfo().length()));
+ res.response(new IgfsInputStreamDescriptor(streamId, igfsIn.length()));
break;
}
@@ -514,7 +515,7 @@ class IgfsIpcHandler implements IgfsServerHandler {
long pos = req.position();
int size = req.length();
- IgfsInputStreamAdapter igfsIn = (IgfsInputStreamAdapter)resource(ses, rsrcId);
+ IgfsInputStreamImpl igfsIn = (IgfsInputStreamImpl)resource(ses, rsrcId);
if (igfsIn == null)
throw new IgniteCheckedException("Input stream not found (already closed?): " + rsrcId);
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsSecondaryFileSystemImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsSecondaryFileSystemImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsSecondaryFileSystemImpl.java
index 453682c..526e60d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsSecondaryFileSystemImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsSecondaryFileSystemImpl.java
@@ -86,7 +86,7 @@ class IgfsSecondaryFileSystemImpl implements IgfsSecondaryFileSystemV2 {
/** {@inheritDoc} */
@Override public IgfsSecondaryFileSystemPositionedReadable open(IgfsPath path, int bufSize)
throws IgniteException {
- return igfs.open(path, bufSize);
+ return (IgfsSecondaryFileSystemPositionedReadable)igfs.open(path, bufSize);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetricsSelfTest.java
index 38cfc00..8d742fb 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetricsSelfTest.java
@@ -116,6 +116,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
* @return Configuration.
* @throws Exception If failed.
*/
+ @SuppressWarnings("unchecked")
private IgniteConfiguration primaryConfiguration(int idx) throws Exception {
FileSystemConfiguration igfsCfg = new FileSystemConfiguration();
@@ -172,6 +173,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
*
* @throws Exception If failed.
*/
+ @SuppressWarnings("unchecked")
private void startSecondary() throws Exception {
FileSystemConfiguration igfsCfg = new FileSystemConfiguration();
@@ -384,6 +386,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
*
* @throws Exception If failed.
*/
+ @SuppressWarnings({"ResultOfMethodCallIgnored", "ConstantConditions"})
public void testBlockMetrics() throws Exception {
IgfsEx igfs = (IgfsEx)igfsPrimary[0];
@@ -424,7 +427,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
checkBlockMetrics(initMetrics, igfs.metrics(), 0, 0, 0, 3, 0, blockSize * 3);
// Read data from the first file.
- IgfsInputStreamAdapter is = igfs.open(file1);
+ IgfsInputStream is = igfs.open(file1);
is.readFully(0, new byte[blockSize * 2]);
is.close();
@@ -432,7 +435,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
// Read data from the second file with hits.
is = igfs.open(file2);
- is.readChunks(0, blockSize);
+ is.read(new byte[blockSize]);
is.close();
checkBlockMetrics(initMetrics, igfs.metrics(), 3, 0, blockSize * 3, 3, 0, blockSize * 3);
@@ -449,7 +452,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
// Read remote file.
is = igfs.open(fileRemote);
- is.readChunks(0, rmtBlockSize);
+ is.read(new byte[rmtBlockSize]);
is.close();
checkBlockMetrics(initMetrics, igfs.metrics(), 4, 1, blockSize * 3 + rmtBlockSize, 3, 0, blockSize * 3);
@@ -459,7 +462,7 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
// Read remote file again.
is = igfs.open(fileRemote);
- is.readChunks(0, rmtBlockSize);
+ is.read(new byte[rmtBlockSize]);
is.close();
checkBlockMetrics(initMetrics, igfs.metrics(), 5, 1, blockSize * 3 + rmtBlockSize * 2, 3, 0, blockSize * 3);
@@ -495,16 +498,6 @@ public class IgfsMetricsSelfTest extends IgfsCommonAbstractTest {
checkBlockMetrics(initMetrics, igfs.metrics(), 5, 1, blockSize * 3 + rmtBlockSize * 2, 5, 1,
blockSize * 7 / 2 + rmtBlockSize);
- // Now read partial block.
- // Read remote file again.
- is = igfs.open(file1);
- is.seek(blockSize * 2);
- is.readChunks(0, blockSize / 2);
- is.close();
-
- checkBlockMetrics(initMetrics, igfs.metrics(), 6, 1, blockSize * 7 / 2 + rmtBlockSize * 2, 5, 1,
- blockSize * 7 / 2 + rmtBlockSize);
-
igfs.resetMetrics();
metrics = igfs.metrics();
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
index 0138907..2b989c5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMock.java
@@ -23,6 +23,7 @@ import org.apache.ignite.IgniteFileSystem;
import org.apache.ignite.configuration.FileSystemConfiguration;
import org.apache.ignite.igfs.IgfsBlockLocation;
import org.apache.ignite.igfs.IgfsFile;
+import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsMetrics;
import org.apache.ignite.igfs.IgfsMode;
import org.apache.ignite.igfs.IgfsOutputStream;
@@ -75,21 +76,22 @@ public class IgfsMock implements IgfsEx {
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize, int seqReadsBeforePrefetch) throws IgniteException {
+ @Override public IgfsInputStream open(IgfsPath path, int bufSize, int seqReadsBeforePrefetch)
+ throws IgniteException {
throwUnsupported();
return null;
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path) throws IgniteException {
+ @Override public IgfsInputStream open(IgfsPath path) throws IgniteException {
throwUnsupported();
return null;
}
/** {@inheritDoc} */
- @Override public IgfsInputStreamAdapter open(IgfsPath path, int bufSize) throws IgniteException {
+ @Override public IgfsInputStream open(IgfsPath path, int bufSize) throws IgniteException {
throwUnsupported();
return null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/igfs/HadoopIgfsInProc.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/igfs/HadoopIgfsInProc.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/igfs/HadoopIgfsInProc.java
index f426243..3220538 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/igfs/HadoopIgfsInProc.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/igfs/HadoopIgfsInProc.java
@@ -28,6 +28,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.igfs.IgfsBlockLocation;
import org.apache.ignite.igfs.IgfsFile;
+import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsOutputStream;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.igfs.IgfsPathSummary;
@@ -35,7 +36,6 @@ import org.apache.ignite.igfs.IgfsUserContext;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.processors.igfs.IgfsEx;
import org.apache.ignite.internal.processors.igfs.IgfsHandshakeResponse;
-import org.apache.ignite.internal.processors.igfs.IgfsInputStreamAdapter;
import org.apache.ignite.internal.processors.igfs.IgfsStatus;
import org.apache.ignite.internal.processors.igfs.IgfsUtils;
import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@ -316,9 +316,9 @@ public class HadoopIgfsInProc implements HadoopIgfsEx {
try {
return IgfsUserContext.doAs(user, new IgniteOutClosure<HadoopIgfsStreamDelegate>() {
@Override public HadoopIgfsStreamDelegate apply() {
- IgfsInputStreamAdapter stream = igfs.open(path, bufSize);
+ IgfsInputStream stream = igfs.open(path, bufSize);
- return new HadoopIgfsStreamDelegate(HadoopIgfsInProc.this, stream, stream.fileInfo().length());
+ return new HadoopIgfsStreamDelegate(HadoopIgfsInProc.this, stream, stream.length());
}
});
}
@@ -336,9 +336,9 @@ public class HadoopIgfsInProc implements HadoopIgfsEx {
try {
return IgfsUserContext.doAs(user, new IgniteOutClosure<HadoopIgfsStreamDelegate>() {
@Override public HadoopIgfsStreamDelegate apply() {
- IgfsInputStreamAdapter stream = igfs.open(path, bufSize, seqReadsBeforePrefetch);
+ IgfsInputStream stream = igfs.open(path, bufSize, seqReadsBeforePrefetch);
- return new HadoopIgfsStreamDelegate(HadoopIgfsInProc.this, stream, stream.fileInfo().length());
+ return new HadoopIgfsStreamDelegate(HadoopIgfsInProc.this, stream, stream.length());
}
});
}
@@ -394,7 +394,7 @@ public class HadoopIgfsInProc implements HadoopIgfsEx {
/** {@inheritDoc} */
@Override public IgniteInternalFuture<byte[]> readData(HadoopIgfsStreamDelegate delegate, long pos, int len,
@Nullable byte[] outBuf, int outOff, int outLen) {
- IgfsInputStreamAdapter stream = delegate.target();
+ IgfsInputStream stream = delegate.target();
try {
byte[] res = null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/16c5a715/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopCommandLineTest.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopCommandLineTest.java b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopCommandLineTest.java
index 8dc2717..7ee318a 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopCommandLineTest.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/internal/processors/hadoop/HadoopCommandLineTest.java
@@ -34,11 +34,11 @@ import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.Ignition;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.hadoop.fs.IgniteHadoopFileSystemCounterWriter;
+import org.apache.ignite.igfs.IgfsInputStream;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.internal.IgnitionEx;
import org.apache.ignite.internal.processors.hadoop.jobtracker.HadoopJobTracker;
import org.apache.ignite.internal.processors.igfs.IgfsEx;
-import org.apache.ignite.internal.processors.igfs.IgfsInputStreamAdapter;
import org.apache.ignite.internal.processors.resource.GridSpringResourceContext;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -398,7 +398,7 @@ public class HadoopCommandLineTest extends GridCommonAbstractTest {
"location '/result' as " + qry
));
- IgfsInputStreamAdapter in = igfs.open(new IgfsPath("/result/000000_0"));
+ IgfsInputStream in = igfs.open(new IgfsPath("/result/000000_0"));
byte[] buf = new byte[(int) in.length()];
[04/12] ignite git commit: Merge branch 'ignite-1.6.7' into
ignite-1.6.8
Posted by ak...@apache.org.
Merge branch 'ignite-1.6.7' into ignite-1.6.8
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/499700c2
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/499700c2
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/499700c2
Branch: refs/heads/master
Commit: 499700c2b48d062b768327f8d35c0349648a1eec
Parents: 6c3993d 4ba9c8e
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Sep 13 12:38:51 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Sep 13 12:38:51 2016 +0300
----------------------------------------------------------------------
.../cpp/odbc/install/ignite-odbc-install.ini | 1 +
.../cpp/odbc/install/install_amd64.cmd | 22 +++++++++++---------
.../platforms/cpp/odbc/install/install_x86.cmd | 11 +++++-----
3 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
[03/12] ignite git commit: Merge remote-tracking branch
'upstream/ignite-1.6.7' into ignite-1.6.7
Posted by ak...@apache.org.
Merge remote-tracking branch 'upstream/ignite-1.6.7' into ignite-1.6.7
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4ba9c8e6
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4ba9c8e6
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4ba9c8e6
Branch: refs/heads/master
Commit: 4ba9c8e62072d0933f97ebc4335c7e6264657ab0
Parents: b595991 121b89b
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Sep 9 12:13:44 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Sep 9 12:13:44 2016 +0300
----------------------------------------------------------------------
----------------------------------------------------------------------
[12/12] ignite git commit: Merge branch ignite-1.7.2 to master.
Posted by ak...@apache.org.
Merge branch ignite-1.7.2 to master.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cfdae56d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cfdae56d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cfdae56d
Branch: refs/heads/master
Commit: cfdae56db683a709924719e878ebadfe1e984b4a
Parents: 563c276 f30b79c
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Wed Sep 14 16:18:49 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Wed Sep 14 16:18:49 2016 +0700
----------------------------------------------------------------------
.../store/jdbc/CacheAbstractJdbcStore.java | 71 ++++--
.../cache/store/jdbc/CacheJdbcPojoStore.java | 21 +-
.../java/org/apache/ignite/igfs/IgfsPath.java | 14 +-
.../org/apache/ignite/igfs/IgfsPathSummary.java | 3 +-
.../local/LocalIgfsSecondaryFileSystem.java | 2 +-
.../igfs/common/IgfsControlResponse.java | 19 +-
.../internal/igfs/common/IgfsMarshaller.java | 14 +-
.../internal/processors/igfs/IgfsAsyncImpl.java | 12 +-
.../internal/processors/igfs/IgfsContext.java | 27 +++
.../processors/igfs/IgfsDataManager.java | 19 +-
.../ignite/internal/processors/igfs/IgfsEx.java | 18 --
.../internal/processors/igfs/IgfsFileImpl.java | 5 +-
.../internal/processors/igfs/IgfsImpl.java | 227 ++++---------------
.../processors/igfs/IgfsInputStreamAdapter.java | 51 -----
.../processors/igfs/IgfsInputStreamImpl.java | 120 +++++-----
.../processors/igfs/IgfsIpcHandler.java | 7 +-
.../processors/igfs/IgfsModeResolver.java | 3 +-
.../processors/igfs/IgfsOutputStreamImpl.java | 8 +-
.../internal/processors/igfs/IgfsPathIds.java | 2 +-
.../internal/processors/igfs/IgfsPaths.java | 5 +-
.../igfs/IgfsSecondaryFileSystemImpl.java | 2 +-
.../internal/processors/igfs/IgfsUtils.java | 21 +-
.../CacheJdbcPojoStoreAbstractSelfTest.java | 70 +++++-
...heJdbcPojoStoreBinaryMarshallerSelfTest.java | 12 +-
.../apache/ignite/igfs/IgfsPathSelfTest.java | 6 -
.../igfs/IgfsAbstractBaseSelfTest.java | 2 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 12 +-
.../igfs/IgfsDataManagerSelfTest.java | 6 +-
.../igfs/IgfsDualAbstractSelfTest.java | 28 ++-
.../igfs/IgfsMetaManagerSelfTest.java | 4 +-
.../processors/igfs/IgfsMetricsSelfTest.java | 21 +-
.../internal/processors/igfs/IgfsMock.java | 15 +-
.../igfs/IgfsModeResolverSelfTest.java | 4 +-
.../processors/igfs/IgfsStreamsSelfTest.java | 4 +-
.../hadoop/igfs/HadoopIgfsInProc.java | 12 +-
.../hadoop/HadoopCommandLineTest.java | 4 +-
.../query-example/src/query_example.cpp | 54 +++++
.../cpp/odbc/install/ignite-odbc-install.ini | 1 +
.../cpp/odbc/install/install_amd64.cmd | 22 +-
.../platforms/cpp/odbc/install/install_x86.cmd | 11 +-
40 files changed, 460 insertions(+), 499 deletions(-)
----------------------------------------------------------------------
[11/12] ignite git commit: Merge branches ignite-1.6.8 to
ignite-1.7.2.
Posted by ak...@apache.org.
Merge branches ignite-1.6.8 to ignite-1.7.2.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f30b79c8
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f30b79c8
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f30b79c8
Branch: refs/heads/master
Commit: f30b79c842cb56c0c12c793852fc630731d0698f
Parents: fc6f879 98914fe
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Wed Sep 14 16:15:14 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Wed Sep 14 16:15:14 2016 +0700
----------------------------------------------------------------------
.../store/jdbc/CacheAbstractJdbcStore.java | 71 ++++--
.../cache/store/jdbc/CacheJdbcPojoStore.java | 21 +-
.../java/org/apache/ignite/igfs/IgfsPath.java | 14 +-
.../org/apache/ignite/igfs/IgfsPathSummary.java | 3 +-
.../local/LocalIgfsSecondaryFileSystem.java | 2 +-
.../igfs/common/IgfsControlResponse.java | 19 +-
.../internal/igfs/common/IgfsMarshaller.java | 14 +-
.../internal/processors/igfs/IgfsAsyncImpl.java | 12 +-
.../internal/processors/igfs/IgfsContext.java | 27 +++
.../processors/igfs/IgfsDataManager.java | 19 +-
.../ignite/internal/processors/igfs/IgfsEx.java | 18 --
.../internal/processors/igfs/IgfsFileImpl.java | 5 +-
.../internal/processors/igfs/IgfsImpl.java | 227 ++++---------------
.../processors/igfs/IgfsInputStreamAdapter.java | 51 -----
.../processors/igfs/IgfsInputStreamImpl.java | 120 +++++-----
.../processors/igfs/IgfsIpcHandler.java | 7 +-
.../processors/igfs/IgfsModeResolver.java | 3 +-
.../processors/igfs/IgfsOutputStreamImpl.java | 8 +-
.../internal/processors/igfs/IgfsPathIds.java | 2 +-
.../internal/processors/igfs/IgfsPaths.java | 5 +-
.../igfs/IgfsSecondaryFileSystemImpl.java | 2 +-
.../internal/processors/igfs/IgfsUtils.java | 21 +-
.../CacheJdbcPojoStoreAbstractSelfTest.java | 70 +++++-
...heJdbcPojoStoreBinaryMarshallerSelfTest.java | 12 +-
.../apache/ignite/igfs/IgfsPathSelfTest.java | 6 -
.../igfs/IgfsAbstractBaseSelfTest.java | 2 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 12 +-
.../igfs/IgfsDataManagerSelfTest.java | 6 +-
.../igfs/IgfsDualAbstractSelfTest.java | 28 ++-
.../igfs/IgfsMetaManagerSelfTest.java | 4 +-
.../processors/igfs/IgfsMetricsSelfTest.java | 21 +-
.../internal/processors/igfs/IgfsMock.java | 15 +-
.../igfs/IgfsModeResolverSelfTest.java | 4 +-
.../processors/igfs/IgfsStreamsSelfTest.java | 4 +-
.../hadoop/igfs/HadoopIgfsInProc.java | 12 +-
.../hadoop/HadoopCommandLineTest.java | 4 +-
.../cpp/odbc/install/ignite-odbc-install.ini | 1 +
.../cpp/odbc/install/install_amd64.cmd | 22 +-
.../platforms/cpp/odbc/install/install_x86.cmd | 11 +-
39 files changed, 406 insertions(+), 499 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f30b79c8/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f30b79c8/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
index ef4e246,798b84a..b19fdea
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStore.java
@@@ -150,9 -150,10 +150,10 @@@ public class CacheJdbcPojoStore<K, V> e
ResultSet rs) throws CacheLoaderException {
try {
JdbcTypeField field = fields[0];
- int colIdx = loadColIdxs.get(field.getDatabaseFieldName());
+
+ Integer colIdx = columnIndex(loadColIdxs, field.getDatabaseFieldName());
- return getColumnValue(rs, colIdx, field.getJavaFieldType());
+ return transformer.getColumnValue(rs, colIdx, field.getJavaFieldType());
}
catch (SQLException e) {
throw new CacheLoaderException("Failed to read object of class: " + typeName, e);
@@@ -196,12 -197,12 +197,12 @@@
throw new IllegalStateException("Failed to find property in POJO class [type=" + typeName +
", prop=" + fldJavaName + "]");
- String fldDbName = fld.getDatabaseFieldName();
+ String dbName = fld.getDatabaseFieldName();
- Integer colIdx = loadColIdxs.get(fldDbName);
+ Integer colIdx = columnIndex(loadColIdxs, dbName);
try {
- Object colVal = getColumnValue(rs, colIdx, fld.getJavaFieldType());
+ Object colVal = transformer.getColumnValue(rs, colIdx, fld.getJavaFieldType());
try {
prop.set(obj, colVal);
@@@ -245,9 -246,9 +246,9 @@@
Collection<Object> hashValues = calcHash ? new ArrayList<>(hashFields.size()) : null;
for (JdbcTypeField field : fields) {
- Integer colIdx = loadColIdxs.get(field.getDatabaseFieldName());
+ Integer colIdx = columnIndex(loadColIdxs, field.getDatabaseFieldName());
- Object colVal = getColumnValue(rs, colIdx, field.getJavaFieldType());
+ Object colVal = transformer.getColumnValue(rs, colIdx, field.getJavaFieldType());
builder.setField(field.getJavaFieldName(), colVal, (Class<Object>)field.getJavaFieldType());
[07/12] ignite git commit: IGNITE-3613 IGFS: Fixed IgfsImpl.size() to
take secondary fie system in count. This closes #1023.
Posted by ak...@apache.org.
IGNITE-3613 IGFS: Fixed IgfsImpl.size() to take secondary fie system in count. This closes #1023.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/43f65fe9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/43f65fe9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/43f65fe9
Branch: refs/heads/master
Commit: 43f65fe91d85ba8f3c16e13bdf5ea815d3a48d71
Parents: 0852bae
Author: tledkov-gridgain <tl...@gridgain.com>
Authored: Tue Sep 13 17:30:47 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Sep 13 17:30:47 2016 +0300
----------------------------------------------------------------------
.../internal/processors/igfs/IgfsImpl.java | 69 ++++++++++----------
.../igfs/IgfsDualAbstractSelfTest.java | 14 ++++
2 files changed, 47 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/43f65fe9/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
index 273e67d..2720f24 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
@@ -598,16 +598,7 @@ public final class IgfsImpl implements IgfsEx {
if (log.isDebugEnabled())
log.debug("Calculating path summary: " + path);
- IgniteUuid fileId = meta.fileId(path);
-
- if (fileId == null)
- throw new IgfsPathNotFoundException("Failed to get path summary (path not found): " + path);
-
- IgfsPathSummary sum = new IgfsPathSummary(path);
-
- summary0(fileId, sum);
-
- return sum;
+ return summary0(path);
}
});
}
@@ -1259,9 +1250,7 @@ public final class IgfsImpl implements IgfsEx {
@Override public IgfsMetrics metrics() {
return safeOp(new Callable<IgfsMetrics>() {
@Override public IgfsMetrics call() throws Exception {
- IgfsPathSummary sum = new IgfsPathSummary();
-
- summary0(IgfsUtils.ROOT_ID, sum);
+ IgfsPathSummary sum = summary0(IgfsPath.ROOT);
long secondarySpaceSize = 0;
@@ -1310,44 +1299,52 @@ public final class IgfsImpl implements IgfsEx {
return safeOp(new Callable<Long>() {
@Override public Long call() throws Exception {
- IgniteUuid nextId = meta.fileId(path);
+ return summary0(path).totalLength();
+ }
+ });
+ }
- if (nextId == null)
- return 0L;
+ /**
+ * Get summary for path.
+ *
+ * @param path Path.
+ * @return Summary.
+ * @throws IgniteCheckedException If failed.
+ */
+ private IgfsPathSummary summary0(IgfsPath path) throws IgniteCheckedException {
+ IgfsFile info = info(path);
- IgfsPathSummary sum = new IgfsPathSummary(path);
+ if (info == null)
+ throw new IgfsPathNotFoundException("Failed to get path summary (path not found): " + path);
- summary0(nextId, sum);
+ IgfsPathSummary sum = new IgfsPathSummary(path);
- return sum.totalLength();
- }
- });
+ summaryRecursive(info, sum);
+
+ return sum;
}
/**
* Calculates size of directory or file for given ID.
*
- * @param fileId File ID.
+ * @param file IGFS File object.
* @param sum Summary object that will collect information.
* @throws IgniteCheckedException If failed.
*/
- private void summary0(IgniteUuid fileId, IgfsPathSummary sum) throws IgniteCheckedException {
+ private void summaryRecursive(IgfsFile file, IgfsPathSummary sum) throws IgniteCheckedException {
+ assert file != null;
assert sum != null;
- IgfsEntryInfo info = meta.info(fileId);
-
- if (info != null) {
- if (info.isDirectory()) {
- if (!IgfsUtils.ROOT_ID.equals(info.id()))
- sum.directoriesCount(sum.directoriesCount() + 1);
+ if (file.isDirectory()) {
+ if (!F.eq(IgfsPath.ROOT, file.path()))
+ sum.directoriesCount(sum.directoriesCount() + 1);
- for (IgfsListingEntry entry : info.listing().values())
- summary0(entry.fileId(), sum);
- }
- else {
- sum.filesCount(sum.filesCount() + 1);
- sum.totalLength(sum.totalLength() + info.length());
- }
+ for (IgfsFile childFile : listFiles(file.path()))
+ summaryRecursive(childFile, sum);
+ }
+ else {
+ sum.filesCount(sum.filesCount() + 1);
+ sum.totalLength(sum.totalLength() + file.length());
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43f65fe9/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
index 57bc4f3..742d20c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
@@ -1599,4 +1599,18 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
// No-op.
}
}
+
+ /**
+ *
+ * @throws Exception If failed.
+ */
+ public void testSecondarySize() throws Exception {
+ igfs.mkdirs(SUBDIR);
+
+ createFile(igfsSecondary, FILE, chunk);
+ createFile(igfsSecondary, new IgfsPath(SUBDIR, "file2"), chunk);
+
+ assertEquals(chunk.length, igfs.size(FILE));
+ assertEquals(chunk.length * 2, igfs.size(SUBDIR));
+ }
}
\ No newline at end of file
[06/12] ignite git commit: IGNITE-3887: IGFS: IgfsPath API cleanup.
Posted by ak...@apache.org.
IGNITE-3887: IGFS: IgfsPath API cleanup.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0852baee
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0852baee
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0852baee
Branch: refs/heads/master
Commit: 0852baeef4c828e4832b34edf24c0869619c5745
Parents: 499700c
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Sep 13 16:50:14 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Sep 13 16:50:14 2016 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/igfs/IgfsPath.java | 14 ++++++++++++-
.../org/apache/ignite/igfs/IgfsPathSummary.java | 3 +--
.../local/LocalIgfsSecondaryFileSystem.java | 2 +-
.../igfs/common/IgfsControlResponse.java | 19 +++++-------------
.../internal/igfs/common/IgfsMarshaller.java | 14 +++----------
.../internal/processors/igfs/IgfsFileImpl.java | 5 +----
.../internal/processors/igfs/IgfsImpl.java | 4 ++--
.../processors/igfs/IgfsModeResolver.java | 3 ++-
.../internal/processors/igfs/IgfsPathIds.java | 2 +-
.../internal/processors/igfs/IgfsPaths.java | 5 +----
.../internal/processors/igfs/IgfsUtils.java | 21 ++++++++++++++++----
.../apache/ignite/igfs/IgfsPathSelfTest.java | 6 ------
.../igfs/IgfsAbstractBaseSelfTest.java | 2 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 12 +++++------
.../igfs/IgfsDataManagerSelfTest.java | 6 +++---
.../igfs/IgfsDualAbstractSelfTest.java | 14 ++++++-------
.../igfs/IgfsMetaManagerSelfTest.java | 4 ++--
.../igfs/IgfsModeResolverSelfTest.java | 4 ++--
.../processors/igfs/IgfsStreamsSelfTest.java | 4 +---
19 files changed, 68 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPath.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPath.java b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPath.java
index c705274..d01e1db 100644
--- a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPath.java
+++ b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPath.java
@@ -62,9 +62,15 @@ public final class IgfsPath implements Comparable<IgfsPath>, Externalizable, Bin
/** URI representing this path. Should never change after object creation or de-serialization. */
private String path;
+ /** Root path. */
+ public static final IgfsPath ROOT = new IgfsPath(SLASH);
+
/**
* Constructs default root path.
+ *
+ * @deprecated Use {@link #ROOT} instead.
*/
+ @Deprecated
public IgfsPath() {
path = SLASH;
}
@@ -146,9 +152,11 @@ public final class IgfsPath implements Comparable<IgfsPath>, Externalizable, Bin
* Returns a root for this path.
*
* @return Root for this path.
+ * @deprecated Use {@link #ROOT} instead.
*/
+ @Deprecated
public IgfsPath root() {
- return new IgfsPath();
+ return ROOT;
}
/**
@@ -244,7 +252,10 @@ public final class IgfsPath implements Comparable<IgfsPath>, Externalizable, Bin
*
* @param path Path to check.
* @return {@code True} if paths are identical.
+ * @deprecated Use {@link #equals(Object)} instead.
*/
+ @SuppressWarnings("unused")
+ @Deprecated
public boolean isSame(IgfsPath path) {
A.notNull(path, "path");
@@ -252,6 +263,7 @@ public final class IgfsPath implements Comparable<IgfsPath>, Externalizable, Bin
}
/** {@inheritDoc} */
+ @SuppressWarnings("NullableProblems")
@Override public int compareTo(IgfsPath o) {
return path.compareTo(o.path);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPathSummary.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPathSummary.java b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPathSummary.java
index 7d60b95..0eff4b7 100644
--- a/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPathSummary.java
+++ b/modules/core/src/main/java/org/apache/ignite/igfs/IgfsPathSummary.java
@@ -137,8 +137,7 @@ public class IgfsPathSummary implements Externalizable, Binarylizable {
dirCnt = in.readInt();
totalLen = in.readLong();
- path = new IgfsPath();
- path.readExternal(in);
+ path = IgfsUtils.readPath(in);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/igfs/secondary/local/LocalIgfsSecondaryFileSystem.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/igfs/secondary/local/LocalIgfsSecondaryFileSystem.java b/modules/core/src/main/java/org/apache/ignite/igfs/secondary/local/LocalIgfsSecondaryFileSystem.java
index 36080f2..c84fcf2 100644
--- a/modules/core/src/main/java/org/apache/ignite/igfs/secondary/local/LocalIgfsSecondaryFileSystem.java
+++ b/modules/core/src/main/java/org/apache/ignite/igfs/secondary/local/LocalIgfsSecondaryFileSystem.java
@@ -303,7 +303,7 @@ public class LocalIgfsSecondaryFileSystem implements IgfsSecondaryFileSystem, Li
/** {@inheritDoc} */
@Override public long usedSpaceSize() {
- Path p = fileForPath(new IgfsPath("/")).toPath();
+ Path p = fileForPath(IgfsPath.ROOT).toPath();
try {
LocalFileSystemSizeVisitor visitor = new LocalFileSystemSizeVisitor();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsControlResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsControlResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsControlResponse.java
index ce7107d..595f3c4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsControlResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsControlResponse.java
@@ -40,6 +40,7 @@ import org.apache.ignite.internal.processors.igfs.IgfsFileImpl;
import org.apache.ignite.internal.processors.igfs.IgfsHandshakeResponse;
import org.apache.ignite.internal.processors.igfs.IgfsInputStreamDescriptor;
import org.apache.ignite.internal.processors.igfs.IgfsStatus;
+import org.apache.ignite.internal.processors.igfs.IgfsUtils;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.S;
@@ -492,13 +493,8 @@ public class IgfsControlResponse extends IgfsMessage {
case RES_TYPE_IGFS_PATH: {
boolean hasVal = in.readBoolean();
- if (hasVal) {
- IgfsPath path = new IgfsPath();
-
- path.readExternal(in);
-
- res = path;
- }
+ if (hasVal)
+ res = IgfsUtils.readPath(in);
break;
}
@@ -603,13 +599,8 @@ public class IgfsControlResponse extends IgfsMessage {
if (size >= 0) {
paths = new ArrayList<>(size);
- for (int i = 0; i < size; i++) {
- IgfsPath path = new IgfsPath();
-
- path.readExternal(in);
-
- paths.add(path);
- }
+ for (int i = 0; i < size; i++)
+ paths.add(IgfsUtils.readPath(in));
}
res = paths;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java
index 1dba21c..91656fd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java
@@ -23,6 +23,7 @@ import java.io.ObjectOutput;
import java.util.Arrays;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.igfs.IgfsPath;
+import org.apache.ignite.internal.processors.igfs.IgfsUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
@@ -331,21 +332,12 @@ public class IgfsMarshaller {
}
/**
- * Reads IGFS path from data input that was written by {@link #writePath(ObjectOutput, org.apache.ignite.igfs.IgfsPath)}
- * method.
+ * Reads IGFS path from data input that was written by {@link #writePath(ObjectOutput, IgfsPath)} method.
*
* @param in Data input.
* @return Written path or {@code null}.
*/
@Nullable private IgfsPath readPath(ObjectInput in) throws IOException {
- if(in.readBoolean()) {
- IgfsPath path = new IgfsPath();
-
- path.readExternal(in);
-
- return path;
- }
-
- return null;
+ return in.readBoolean() ? IgfsUtils.readPath(in) : null;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileImpl.java
index 984c8f5..98777be 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsFileImpl.java
@@ -231,10 +231,7 @@ public final class IgfsFileImpl implements IgfsFile, Externalizable, Binarylizab
* @param in Data input.
*/
@Override public void readExternal(ObjectInput in) throws IOException {
- path = new IgfsPath();
-
- path.readExternal(in);
-
+ path = IgfsUtils.readPath(in);
blockSize = in.readInt();
grpBlockSize = in.readLong();
len = in.readLong();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
index 636b4a9..273e67d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
@@ -388,7 +388,7 @@ public final class IgfsImpl implements IgfsEx {
boolean await = false;
for (IgfsPath path : paths) {
- if (workerPath.isSubDirectoryOf(path) || workerPath.isSame(path)) {
+ if (workerPath.isSubDirectoryOf(path) || F.eq(workerPath, path)) {
await = true;
break;
@@ -749,7 +749,7 @@ public final class IgfsImpl implements IgfsEx {
if (log.isDebugEnabled())
log.debug("Deleting file [path=" + path + ", recursive=" + recursive + ']');
- if (IgfsPath.SLASH.equals(path.toString()))
+ if (F.eq(IgfsPath.ROOT, path))
return false;
IgfsMode mode = resolveMode(path);
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolver.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolver.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolver.java
index 33b835f..d4e248d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolver.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolver.java
@@ -26,6 +26,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.igfs.IgfsMode;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.internal.util.GridBoundedConcurrentLinkedHashMap;
+import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
import org.jetbrains.annotations.Nullable;
@@ -84,7 +85,7 @@ public class IgfsModeResolver {
if (mode == null) {
for (T2<IgfsPath, IgfsMode> entry : modes) {
- if (path.isSame(entry.getKey()) || path.isSubDirectoryOf(entry.getKey())) {
+ if (F.eq(path, entry.getKey()) || path.isSubDirectoryOf(entry.getKey())) {
// As modes ordered from most specific to least specific first mode found is ours.
mode = entry.getValue();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPathIds.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPathIds.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPathIds.java
index b710ba2..9b30913 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPathIds.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPathIds.java
@@ -163,7 +163,7 @@ public class IgfsPathIds {
* @return Path of the last existing element.
*/
public IgfsPath lastExistingPath() {
- IgfsPath path = new IgfsPath();
+ IgfsPath path = IgfsPath.ROOT;
for (int i = 1; i <= lastExistingIdx; i++)
path = new IgfsPath(path, parts[i]);
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPaths.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPaths.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPaths.java
index 2bdb23b..72b5a19 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPaths.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsPaths.java
@@ -24,7 +24,6 @@ import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.ArrayList;
-import java.util.List;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.igfs.IgfsMode;
@@ -144,9 +143,7 @@ public class IgfsPaths implements Externalizable {
pathModes = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
- IgfsPath path = new IgfsPath();
-
- path.readExternal(in);
+ IgfsPath path = IgfsUtils.readPath(in);
pathModes.add(new T2<>(path, IgfsMode.fromOrdinal(in.readByte())));
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsUtils.java
index 2e79a98..4453dba 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsUtils.java
@@ -52,6 +52,7 @@ import org.jetbrains.annotations.Nullable;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
+import java.io.ObjectInput;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Collections;
@@ -126,9 +127,6 @@ public class IgfsUtils {
/** Flag: this is a file. */
private static final byte FLAG_FILE = 0x2;
- /**
- * Static initializer.
- */
static {
TRASH_IDS = new IgniteUuid[TRASH_CONCURRENCY];
@@ -750,6 +748,21 @@ public class IgfsUtils {
}
/**
+ * Read non-null path from the input.
+ *
+ * @param in Input.
+ * @return IGFS path.
+ * @throws IOException If failed.
+ */
+ public static IgfsPath readPath(ObjectInput in) throws IOException {
+ IgfsPath res = new IgfsPath();
+
+ res.readExternal(in);
+
+ return res;
+ }
+
+ /**
* Write IgfsFileAffinityRange.
*
* @param writer Writer
@@ -878,7 +891,7 @@ public class IgfsUtils {
ArrayList<T2<IgfsPath, IgfsMode>> resModes = new ArrayList<>(modes.size() + 1);
- resModes.add(new T2<>(new IgfsPath("/"), dfltMode));
+ resModes.add(new T2<>(IgfsPath.ROOT, dfltMode));
for (T2<IgfsPath, IgfsMode> mode : modes) {
assert mode.getKey() != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/igfs/IgfsPathSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsPathSelfTest.java b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsPathSelfTest.java
index eb0f383..3092374 100644
--- a/modules/core/src/test/java/org/apache/ignite/igfs/IgfsPathSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/igfs/IgfsPathSelfTest.java
@@ -97,12 +97,6 @@ public class IgfsPathSelfTest extends GridCommonAbstractTest {
URI uri = URI.create(pathStr);
IgfsPath path = new IgfsPath(uri);
- assertNotNull(new IgfsPath(uri));
- assertNotNull(new IgfsPath(pathStr));
- assertNotNull(new IgfsPath("/"));
- assertNotNull(new IgfsPath(path, pathStr));
- assertNotNull(new IgfsPath());
-
Class nullUri = URI.class;
Class nullStr = String.class;
Class nullPath = IgfsPath.class;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractBaseSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractBaseSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractBaseSelfTest.java
index 03f24a4..3f62cf5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractBaseSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractBaseSelfTest.java
@@ -342,7 +342,7 @@ public abstract class IgfsAbstractBaseSelfTest extends IgfsCommonAbstractTest {
@Override protected void afterTest() throws Exception {
clear(igfs, igfsSecondary);
- assert igfs.listFiles(new IgfsPath("/")).isEmpty();
+ assert igfs.listFiles(IgfsPath.ROOT).isEmpty();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractSelfTest.java
index 89979ad..a115e03 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractSelfTest.java
@@ -265,7 +265,7 @@ public abstract class IgfsAbstractSelfTest extends IgfsAbstractBaseSelfTest {
public void testMoveFileDestinationRoot() throws Exception {
create(igfs, paths(DIR, SUBDIR), paths(FILE));
- igfs.rename(FILE, new IgfsPath());
+ igfs.rename(FILE, IgfsPath.ROOT);
checkExist(igfs, igfsSecondary, new IgfsPath("/" + FILE.name()));
checkNotExist(igfs, igfsSecondary, FILE);
@@ -357,7 +357,7 @@ public abstract class IgfsAbstractSelfTest extends IgfsAbstractBaseSelfTest {
public void testMoveDirectoryDestinationRoot() throws Exception {
create(igfs, paths(DIR, SUBDIR, SUBSUBDIR), null);
- igfs.rename(SUBSUBDIR, new IgfsPath());
+ igfs.rename(SUBSUBDIR, IgfsPath.ROOT);
checkExist(igfs, igfsSecondary, new IgfsPath("/" + SUBSUBDIR.name()));
checkNotExist(igfs, igfsSecondary, SUBSUBDIR);
@@ -745,13 +745,11 @@ public abstract class IgfsAbstractSelfTest extends IgfsAbstractBaseSelfTest {
* @throws Exception If failed.
*/
private void checkRootPropertyUpdate(String prop, String setVal, String expGetVal) throws Exception {
- final IgfsPath rootPath = new IgfsPath("/");
-
- igfs.update(rootPath, Collections.singletonMap(prop, setVal));
+ igfs.update(IgfsPath.ROOT, Collections.singletonMap(prop, setVal));
igfs.format();
- IgfsFile file = igfs.info(rootPath);
+ IgfsFile file = igfs.info(IgfsPath.ROOT);
assert file != null;
@@ -2334,7 +2332,7 @@ public abstract class IgfsAbstractSelfTest extends IgfsAbstractBaseSelfTest {
Queue<IgniteBiTuple<Integer, IgfsPath>> queue = new ArrayDeque<>();
- queue.add(F.t(0, new IgfsPath())); // Add root directory.
+ queue.add(F.t(0, IgfsPath.ROOT)); // Add root directory.
while (!queue.isEmpty()) {
IgniteBiTuple<Integer, IgfsPath> entry = queue.poll();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java
index 70d6b99..a98c3a1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDataManagerSelfTest.java
@@ -165,7 +165,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
@SuppressWarnings("ConstantConditions")
public void testDataStoring() throws Exception {
for (int i = 0; i < 10; i++) {
- IgfsPath path = new IgfsPath();
+ IgfsPath path = IgfsPath.ROOT;
long t = System.currentTimeMillis();
@@ -250,7 +250,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
final int blockSize = IGFS_BLOCK_SIZE;
for (int i = 0; i < 10; i++) {
- IgfsPath path = new IgfsPath();
+ IgfsPath path = IgfsPath.ROOT;
long t = System.currentTimeMillis();
@@ -341,7 +341,7 @@ public class IgfsDataManagerSelfTest extends IgfsCommonAbstractTest {
final int writesCnt = 64;
for (int i = 0; i < 10; i++) {
- IgfsPath path = new IgfsPath();
+ IgfsPath path = IgfsPath.ROOT;
long t = System.currentTimeMillis();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
index 02027d6..57bc4f3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsDualAbstractSelfTest.java
@@ -23,6 +23,7 @@ import org.apache.ignite.igfs.IgfsMode;
import org.apache.ignite.igfs.IgfsPath;
import org.apache.ignite.igfs.secondary.IgfsSecondaryFileSystem;
import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -334,7 +335,7 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
create(igfsSecondary, paths(DIR, SUBDIR), paths(FILE));
create(igfs, paths(DIR), null);
- igfs.rename(FILE, new IgfsPath());
+ igfs.rename(FILE, IgfsPath.ROOT);
checkExist(igfs, SUBDIR);
checkExist(igfs, igfsSecondary, new IgfsPath("/" + FILE.name()));
@@ -350,7 +351,7 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
create(igfsSecondary, paths(DIR, SUBDIR), paths(FILE));
create(igfs, null, null);
- igfs.rename(FILE, new IgfsPath());
+ igfs.rename(FILE, IgfsPath.ROOT);
checkExist(igfs, DIR, SUBDIR);
checkExist(igfs, igfsSecondary, new IgfsPath("/" + FILE.name()));
@@ -701,7 +702,7 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
create(igfsSecondary, paths(DIR, SUBDIR, SUBSUBDIR), null);
create(igfs, paths(DIR), null);
- igfs.rename(SUBSUBDIR, new IgfsPath());
+ igfs.rename(SUBSUBDIR, IgfsPath.ROOT);
checkExist(igfs, SUBDIR);
checkExist(igfs, igfsSecondary, new IgfsPath("/" + SUBSUBDIR.name()));
@@ -717,7 +718,7 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
create(igfsSecondary, paths(DIR, SUBDIR, SUBSUBDIR), null);
create(igfs, null, null);
- igfs.rename(SUBSUBDIR, new IgfsPath());
+ igfs.rename(SUBSUBDIR, IgfsPath.ROOT);
checkExist(igfs, DIR, SUBDIR);
checkExist(igfs, igfsSecondary, new IgfsPath("/" + SUBSUBDIR.name()));
@@ -1510,8 +1511,7 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
T2<Long, Long> t0 = new T2<>(f0.accessTime(), f0.modificationTime());
// Root cannot be seen through the parent listing:
- if (!p.isSame(p.root())) {
-
+ if (!F.eq(IgfsPath.ROOT, p)) {
assertNotNull(f0);
Collection<IgfsFile> listing = fs.listFiles(p.parent());
@@ -1519,7 +1519,7 @@ public abstract class IgfsDualAbstractSelfTest extends IgfsAbstractSelfTest {
IgfsFile f1 = null;
for (IgfsFile fi : listing) {
- if (fi.path().isSame(p)) {
+ if (F.eq(fi.path(), p)) {
f1 = fi;
break;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManagerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManagerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManagerSelfTest.java
index 6053d3b..a4100ea 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManagerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManagerSelfTest.java
@@ -266,7 +266,7 @@ public class IgfsMetaManagerSelfTest extends IgfsCommonAbstractTest {
}
// Validate 'file ID' operations.
- assertEquals(ROOT_ID, mgr.fileId(new IgfsPath("/")));
+ assertEquals(ROOT_ID, mgr.fileId(IgfsPath.ROOT));
assertEquals(a.id(), mgr.fileId(new IgfsPath("/a")));
assertEquals(b.id(), mgr.fileId(new IgfsPath("/a/b")));
assertEquals(f1.id(), mgr.fileId(new IgfsPath("/f1")));
@@ -285,7 +285,7 @@ public class IgfsMetaManagerSelfTest extends IgfsCommonAbstractTest {
assertNull(mgr.fileId(a.id(), "f5"));
assertNull(mgr.fileId(b.id(), "f6"));
- assertEquals(Arrays.asList(ROOT_ID), mgr.fileIds(new IgfsPath("/")));
+ assertEquals(Arrays.asList(ROOT_ID), mgr.fileIds(IgfsPath.ROOT));
assertEquals(Arrays.asList(ROOT_ID, a.id()), mgr.fileIds(new IgfsPath("/a")));
assertEquals(Arrays.asList(ROOT_ID, a.id(), b.id()), mgr.fileIds(new IgfsPath("/a/b")));
assertEquals(Arrays.asList(ROOT_ID, f1.id()), mgr.fileIds(new IgfsPath("/f1")));
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolverSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolverSelfTest.java
index bd7e413..7932660 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolverSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsModeResolverSelfTest.java
@@ -69,7 +69,7 @@ public class IgfsModeResolverSelfTest extends TestCase {
* @throws Exception If failed.
*/
public void testResolve() throws Exception {
- assertEquals(DUAL_SYNC, reslvr.resolveMode(new IgfsPath("/")));
+ assertEquals(DUAL_SYNC, reslvr.resolveMode(IgfsPath.ROOT));
assertEquals(DUAL_SYNC, reslvr.resolveMode(new IgfsPath("/a")));
assertEquals(DUAL_SYNC, reslvr.resolveMode(new IgfsPath("/a/1")));
@@ -161,7 +161,7 @@ public class IgfsModeResolverSelfTest extends TestCase {
assertEquals(set, new HashSet<IgfsPath>() {{
add(new IgfsPath("/a/b"));
add(new IgfsPath("/a/b/x"));
- add(new IgfsPath("/"));
+ add(IgfsPath.ROOT);
}});
set = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0852baee/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStreamsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStreamsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStreamsSelfTest.java
index 44560e3..8c6cf57 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStreamsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStreamsSelfTest.java
@@ -47,7 +47,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.UUID;
@@ -192,13 +191,12 @@ public class IgfsStreamsSelfTest extends IgfsCommonAbstractTest {
* @throws Exception In case of exception.
*/
public void testCreateFile() throws Exception {
- IgfsPath root = new IgfsPath("/");
IgfsPath path = new IgfsPath("/asdf");
long max = 100L * CFG_BLOCK_SIZE / WRITING_THREADS_CNT;
for (long size = 0; size <= max; size = size * 15 / 10 + 1) {
- assertTrue(F.isEmpty(fs.listPaths(root)));
+ assertTrue(F.isEmpty(fs.listPaths(IgfsPath.ROOT)));
testCreateFile(path, size, new Random().nextInt());
}