You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by yz...@apache.org on 2015/03/05 10:05:45 UTC
[45/58] [abbrv] incubator-ignite git commit: IGNITE-386: Squashed
changes.
IGNITE-386: Squashed changes.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6423cf02
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6423cf02
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6423cf02
Branch: refs/heads/ignite-313
Commit: 6423cf027e9639b5260bd0cfd6a5e8eb82cd7acd
Parents: 162760b
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Thu Mar 5 10:15:16 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Thu Mar 5 10:15:22 2015 +0300
----------------------------------------------------------------------
bin/setup-hadoop.bat | 2 +-
bin/setup-hadoop.sh | 2 +-
config/hadoop/default-config.xml | 10 +-
docs/core-site.ignite.xml | 6 +-
examples/config/filesystem/core-site.xml | 4 +-
examples/config/filesystem/example-igfs.xml | 4 +-
.../ignite/examples/igfs/IgfsExample.java | 18 +-
.../examples/igfs/IgfsMapReduceExample.java | 6 +-
.../src/main/java/org/apache/ignite/Ignite.java | 13 +-
.../org/apache/ignite/IgniteFileSystem.java | 457 ++++
.../main/java/org/apache/ignite/IgniteFs.java | 346 ---
.../configuration/FileSystemConfiguration.java | 805 ++++++
.../configuration/HadoopConfiguration.java | 173 ++
.../ignite/configuration/IgfsConfiguration.java | 807 ------
.../configuration/IgniteConfiguration.java | 19 +-
.../main/java/org/apache/ignite/igfs/Igfs.java | 216 --
.../apache/ignite/igfs/IgfsBlockLocation.java | 2 +-
.../java/org/apache/ignite/igfs/IgfsFile.java | 2 +-
.../org/apache/ignite/igfs/IgfsInputStream.java | 6 +-
.../org/apache/ignite/igfs/IgfsMetrics.java | 2 +-
.../java/org/apache/ignite/igfs/IgfsMode.java | 8 +-
.../java/org/apache/ignite/igfs/IgfsReader.java | 38 -
.../mapreduce/IgfsInputStreamJobAdapter.java | 4 +-
.../apache/ignite/igfs/mapreduce/IgfsJob.java | 4 +-
.../igfs/mapreduce/IgfsRecordResolver.java | 2 +-
.../apache/ignite/igfs/mapreduce/IgfsTask.java | 4 +-
.../ignite/igfs/mapreduce/IgfsTaskArgs.java | 2 +-
.../IgfsByteDelimiterRecordResolver.java | 3 +-
.../records/IgfsFixedLengthRecordResolver.java | 2 +-
.../igfs/secondary/IgfsSecondaryFileSystem.java | 201 ++
...fsSecondaryFileSystemPositionedReadable.java | 38 +
.../apache/ignite/igfs/secondary/package.html | 24 +
.../ignite/internal/GridKernalContext.java | 2 +-
.../ignite/internal/GridKernalContextImpl.java | 8 +-
.../ignite/internal/IgniteComponentType.java | 4 +-
.../org/apache/ignite/internal/IgniteEx.java | 4 +-
.../apache/ignite/internal/IgniteKernal.java | 14 +-
.../org/apache/ignite/internal/IgnitionEx.java | 8 +-
.../processors/cache/GridCacheAdapter.java | 4 +-
.../processors/cache/GridCacheProcessor.java | 4 +-
.../processors/cache/GridCacheUtils.java | 4 +-
.../internal/processors/hadoop/GridHadoop.java | 86 -
.../hadoop/GridHadoopConfiguration.java | 172 --
.../processors/hadoop/GridHadoopCounter.java | 44 -
.../hadoop/GridHadoopCounterWriter.java | 36 -
.../processors/hadoop/GridHadoopCounters.java | 49 -
.../processors/hadoop/GridHadoopFileBlock.java | 162 --
.../processors/hadoop/GridHadoopInputSplit.java | 54 -
.../processors/hadoop/GridHadoopJob.java | 102 -
.../processors/hadoop/GridHadoopJobId.java | 103 -
.../processors/hadoop/GridHadoopJobInfo.java | 83 -
.../processors/hadoop/GridHadoopJobPhase.java | 38 -
.../hadoop/GridHadoopJobProperty.java | 138 -
.../processors/hadoop/GridHadoopJobStatus.java | 207 --
.../hadoop/GridHadoopMapReducePlan.java | 80 -
.../hadoop/GridHadoopMapReducePlanner.java | 40 -
.../hadoop/GridHadoopPartitioner.java | 33 -
.../hadoop/GridHadoopSerialization.java | 54 -
.../processors/hadoop/GridHadoopTask.java | 72 -
.../hadoop/GridHadoopTaskContext.java | 189 --
.../processors/hadoop/GridHadoopTaskInfo.java | 153 --
.../processors/hadoop/GridHadoopTaskInput.java | 55 -
.../processors/hadoop/GridHadoopTaskOutput.java | 40 -
.../processors/hadoop/GridHadoopTaskType.java | 56 -
.../internal/processors/hadoop/Hadoop.java | 88 +
.../processors/hadoop/HadoopFileBlock.java | 162 ++
.../processors/hadoop/HadoopInputSplit.java | 54 +
.../internal/processors/hadoop/HadoopJob.java | 102 +
.../internal/processors/hadoop/HadoopJobId.java | 103 +
.../processors/hadoop/HadoopJobInfo.java | 83 +
.../processors/hadoop/HadoopJobPhase.java | 38 +
.../processors/hadoop/HadoopJobProperty.java | 138 +
.../processors/hadoop/HadoopJobStatus.java | 207 ++
.../processors/hadoop/HadoopMapReducePlan.java | 80 +
.../hadoop/HadoopMapReducePlanner.java | 40 +
.../processors/hadoop/HadoopNoopProcessor.java | 76 +
.../processors/hadoop/HadoopPartitioner.java | 33 +
.../hadoop/HadoopProcessorAdapter.java | 96 +
.../processors/hadoop/HadoopSerialization.java | 54 +
.../internal/processors/hadoop/HadoopTask.java | 72 +
.../processors/hadoop/HadoopTaskContext.java | 190 ++
.../processors/hadoop/HadoopTaskInfo.java | 153 ++
.../processors/hadoop/HadoopTaskInput.java | 55 +
.../processors/hadoop/HadoopTaskOutput.java | 40 +
.../processors/hadoop/HadoopTaskType.java | 56 +
.../hadoop/IgniteHadoopNoopProcessor.java | 74 -
.../hadoop/IgniteHadoopProcessorAdapter.java | 94 -
.../hadoop/counter/HadoopCounter.java | 44 +
.../hadoop/counter/HadoopCounterWriter.java | 37 +
.../hadoop/counter/HadoopCounters.java | 49 +
.../internal/processors/igfs/IgfsAsyncImpl.java | 9 +-
.../internal/processors/igfs/IgfsContext.java | 6 +-
.../processors/igfs/IgfsDataManager.java | 5 +-
.../ignite/internal/processors/igfs/IgfsEx.java | 28 +-
.../internal/processors/igfs/IgfsFileInfo.java | 4 +-
.../internal/processors/igfs/IgfsImpl.java | 42 +-
.../processors/igfs/IgfsInputStreamAdapter.java | 4 +-
.../processors/igfs/IgfsInputStreamImpl.java | 5 +-
.../internal/processors/igfs/IgfsJobImpl.java | 2 +-
.../processors/igfs/IgfsMetaManager.java | 27 +-
.../processors/igfs/IgfsNoopProcessor.java | 4 +-
.../processors/igfs/IgfsOutputStreamImpl.java | 2 +-
.../internal/processors/igfs/IgfsProcessor.java | 26 +-
.../processors/igfs/IgfsProcessorAdapter.java | 4 +-
.../igfs/IgfsSecondaryFileSystemImpl.java | 121 +
.../IgfsSecondaryInputStreamDescriptor.java | 8 +-
.../processors/igfs/IgfsServerManager.java | 4 +-
.../ignite/internal/visor/igfs/VisorIgfs.java | 4 +-
.../visor/igfs/VisorIgfsProfilerClearTask.java | 2 +-
.../visor/node/VisorGridConfiguration.java | 2 +-
.../visor/node/VisorIgfsConfiguration.java | 9 +-
.../visor/node/VisorNodeDataCollectorJob.java | 2 +-
.../internal/visor/util/VisorTaskUtils.java | 4 +-
.../hadoop/core-site-loopback-secondary.xml | 4 +-
.../test/config/hadoop/core-site-loopback.xml | 4 +-
.../test/config/hadoop/core-site-secondary.xml | 4 +-
.../core/src/test/config/hadoop/core-site.xml | 4 +-
modules/core/src/test/config/igfs-loopback.xml | 4 +-
modules/core/src/test/config/igfs-shmem.xml | 4 +-
.../ignite/igfs/IgfsEventsAbstractSelfTest.java | 10 +-
.../igfs/IgfsFragmentizerAbstractSelfTest.java | 4 +-
.../ignite/igfs/IgfsFragmentizerSelfTest.java | 8 +-
.../igfs/IgfsFragmentizerTopologySelfTest.java | 2 +-
...heIgfsPerBlockLruEvictionPolicySelfTest.java | 485 ----
.../processors/igfs/IgfsAbstractSelfTest.java | 85 +-
...sCachePerBlockLruEvictionPolicySelfTest.java | 485 ++++
.../processors/igfs/IgfsCacheSelfTest.java | 4 +-
.../igfs/IgfsDataManagerSelfTest.java | 5 +-
.../igfs/IgfsDualAbstractSelfTest.java | 12 +-
.../igfs/IgfsMetaManagerSelfTest.java | 4 +-
.../processors/igfs/IgfsMetricsSelfTest.java | 22 +-
.../processors/igfs/IgfsModesSelfTest.java | 14 +-
.../processors/igfs/IgfsProcessorSelfTest.java | 10 +-
.../igfs/IgfsProcessorValidationSelfTest.java | 50 +-
...IpcEndpointRegistrationAbstractSelfTest.java | 10 +-
...dpointRegistrationOnLinuxAndMacSelfTest.java | 4 +-
...pcEndpointRegistrationOnWindowsSelfTest.java | 2 +-
.../processors/igfs/IgfsSizeSelfTest.java | 4 +-
.../processors/igfs/IgfsStreamsSelfTest.java | 14 +-
.../processors/igfs/IgfsTaskSelfTest.java | 10 +-
.../IgfsAbstractRecordResolverSelfTest.java | 6 +-
.../ipc/shmem/IpcSharedMemoryNodeStartup.java | 4 +-
.../ignite/testframework/junits/IgniteMock.java | 4 +-
.../ignite/testsuites/IgniteIgfsTestSuite.java | 2 +-
.../client/hadoop/GridHadoopClientProtocol.java | 334 ---
.../GridHadoopClientProtocolProvider.java | 137 -
.../counter/GridHadoopClientCounterGroup.java | 121 -
.../counter/GridHadoopClientCounters.java | 217 --
.../apache/ignite/client/hadoop/package.html | 24 -
.../fs/IgniteHadoopFileSystemCounterWriter.java | 93 +
.../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 414 +++
.../org/apache/ignite/hadoop/fs/package.html | 24 +
.../hadoop/fs/v1/IgniteHadoopFileSystem.java | 1237 +++++++++
.../org/apache/ignite/hadoop/fs/v1/package.html | 24 +
.../hadoop/fs/v2/IgniteHadoopFileSystem.java | 982 ++++++++
.../org/apache/ignite/hadoop/fs/v2/package.html | 24 +
.../IgniteHadoopClientProtocolProvider.java | 138 +
.../mapreduce/IgniteHadoopMapReducePlanner.java | 435 ++++
.../apache/ignite/hadoop/mapreduce/package.html | 24 +
.../java/org/apache/ignite/hadoop/package.html | 24 +
.../hadoop/IgfsHadoopFileSystemWrapper.java | 414 ---
.../igfs/hadoop/IgfsHadoopParameters.java | 94 -
.../org/apache/ignite/igfs/hadoop/package.html | 24 -
.../igfs/hadoop/v1/IgfsHadoopFileSystem.java | 1234 ---------
.../apache/ignite/igfs/hadoop/v1/package.html | 24 -
.../igfs/hadoop/v2/IgfsHadoopFileSystem.java | 982 --------
.../apache/ignite/igfs/hadoop/v2/package.html | 24 -
.../java/org/apache/ignite/igfs/package.html | 24 -
.../ignite/internal/igfs/hadoop/IgfsHadoop.java | 198 --
.../IgfsHadoopCommunicationException.java | 57 -
.../igfs/hadoop/IgfsHadoopEndpoint.java | 210 --
.../internal/igfs/hadoop/IgfsHadoopEx.java | 88 -
.../igfs/hadoop/IgfsHadoopFSProperties.java | 88 -
.../internal/igfs/hadoop/IgfsHadoopFuture.java | 94 -
.../internal/igfs/hadoop/IgfsHadoopInProc.java | 409 ---
.../igfs/hadoop/IgfsHadoopInputStream.java | 626 -----
.../internal/igfs/hadoop/IgfsHadoopIo.java | 76 -
.../internal/igfs/hadoop/IgfsHadoopIpcIo.java | 599 -----
.../igfs/hadoop/IgfsHadoopIpcIoListener.java | 36 -
.../igfs/hadoop/IgfsHadoopJclLogger.java | 112 -
.../internal/igfs/hadoop/IgfsHadoopOutProc.java | 466 ----
.../igfs/hadoop/IgfsHadoopOutputStream.java | 201 --
.../igfs/hadoop/IgfsHadoopProxyInputStream.java | 335 ---
.../hadoop/IgfsHadoopProxyOutputStream.java | 165 --
.../internal/igfs/hadoop/IgfsHadoopReader.java | 104 -
.../igfs/hadoop/IgfsHadoopStreamDelegate.java | 96 -
.../hadoop/IgfsHadoopStreamEventListener.java | 39 -
.../internal/igfs/hadoop/IgfsHadoopUtils.java | 131 -
.../internal/igfs/hadoop/IgfsHadoopWrapper.java | 511 ----
.../ignite/internal/igfs/hadoop/package.html | 24 -
.../apache/ignite/internal/igfs/package.html | 24 -
.../hadoop/GridHadoopClassLoader.java | 552 ----
.../processors/hadoop/GridHadoopComponent.java | 61 -
.../processors/hadoop/GridHadoopContext.java | 196 --
.../hadoop/GridHadoopDefaultJobInfo.java | 163 --
.../processors/hadoop/GridHadoopImpl.java | 132 -
.../processors/hadoop/GridHadoopSetup.java | 505 ----
.../GridHadoopTaskCancelledException.java | 35 -
.../processors/hadoop/GridHadoopUtils.java | 308 ---
.../processors/hadoop/HadoopClassLoader.java | 552 ++++
.../processors/hadoop/HadoopComponent.java | 61 +
.../processors/hadoop/HadoopContext.java | 197 ++
.../processors/hadoop/HadoopDefaultJobInfo.java | 163 ++
.../internal/processors/hadoop/HadoopImpl.java | 134 +
.../hadoop/HadoopMapReduceCounterGroup.java | 121 +
.../hadoop/HadoopMapReduceCounters.java | 216 ++
.../processors/hadoop/HadoopProcessor.java | 227 ++
.../internal/processors/hadoop/HadoopSetup.java | 505 ++++
.../hadoop/HadoopTaskCancelledException.java | 35 +
.../internal/processors/hadoop/HadoopUtils.java | 308 +++
.../hadoop/IgniteHadoopProcessor.java | 225 --
.../counter/GridHadoopCounterAdapter.java | 128 -
.../hadoop/counter/GridHadoopCountersImpl.java | 198 --
.../counter/GridHadoopFSCounterWriter.java | 91 -
.../hadoop/counter/GridHadoopLongCounter.java | 92 -
.../counter/GridHadoopPerformanceCounter.java | 279 ---
.../hadoop/counter/HadoopCounterAdapter.java | 127 +
.../hadoop/counter/HadoopCountersImpl.java | 197 ++
.../hadoop/counter/HadoopLongCounter.java | 90 +
.../counter/HadoopPerformanceCounter.java | 279 +++
.../fs/GridHadoopDistributedFileSystem.java | 91 -
.../hadoop/fs/GridHadoopFileSystemsUtils.java | 57 -
.../hadoop/fs/GridHadoopLocalFileSystemV1.java | 39 -
.../hadoop/fs/GridHadoopLocalFileSystemV2.java | 86 -
.../hadoop/fs/GridHadoopRawLocalFileSystem.java | 304 ---
.../hadoop/fs/HadoopDistributedFileSystem.java | 91 +
.../hadoop/fs/HadoopFileSystemsUtils.java | 57 +
.../hadoop/fs/HadoopLocalFileSystemV1.java | 39 +
.../hadoop/fs/HadoopLocalFileSystemV2.java | 86 +
.../processors/hadoop/fs/HadoopParameters.java | 94 +
.../hadoop/fs/HadoopRawLocalFileSystem.java | 304 +++
.../processors/hadoop/igfs/HadoopIgfs.java | 198 ++
.../igfs/HadoopIgfsCommunicationException.java | 57 +
.../hadoop/igfs/HadoopIgfsEndpoint.java | 210 ++
.../processors/hadoop/igfs/HadoopIgfsEx.java | 88 +
.../hadoop/igfs/HadoopIgfsFuture.java | 94 +
.../hadoop/igfs/HadoopIgfsInProc.java | 409 +++
.../hadoop/igfs/HadoopIgfsInputStream.java | 626 +++++
.../processors/hadoop/igfs/HadoopIgfsIo.java | 76 +
.../processors/hadoop/igfs/HadoopIgfsIpcIo.java | 599 +++++
.../hadoop/igfs/HadoopIgfsIpcIoListener.java | 36 +
.../hadoop/igfs/HadoopIgfsJclLogger.java | 115 +
.../hadoop/igfs/HadoopIgfsOutProc.java | 466 ++++
.../hadoop/igfs/HadoopIgfsOutputStream.java | 201 ++
.../hadoop/igfs/HadoopIgfsProperties.java | 88 +
.../hadoop/igfs/HadoopIgfsProxyInputStream.java | 335 +++
.../igfs/HadoopIgfsProxyOutputStream.java | 165 ++
...fsSecondaryFileSystemPositionedReadable.java | 104 +
.../hadoop/igfs/HadoopIgfsStreamDelegate.java | 96 +
.../igfs/HadoopIgfsStreamEventListener.java | 39 +
.../processors/hadoop/igfs/HadoopIgfsUtils.java | 131 +
.../hadoop/igfs/HadoopIgfsWrapper.java | 511 ++++
.../jobtracker/GridHadoopJobMetadata.java | 305 ---
.../hadoop/jobtracker/GridHadoopJobTracker.java | 1625 ------------
.../hadoop/jobtracker/HadoopJobMetadata.java | 306 +++
.../hadoop/jobtracker/HadoopJobTracker.java | 1626 ++++++++++++
.../hadoop/message/GridHadoopMessage.java | 27 -
.../hadoop/message/HadoopMessage.java | 27 +
.../planner/GridHadoopDefaultMapReducePlan.java | 107 -
.../GridHadoopDefaultMapReducePlanner.java | 434 ----
.../planner/HadoopDefaultMapReducePlan.java | 107 +
.../GridHadoopProtocolJobCountersTask.java | 45 -
.../proto/GridHadoopProtocolJobStatusTask.java | 81 -
.../proto/GridHadoopProtocolKillJobTask.java | 46 -
.../proto/GridHadoopProtocolNextTaskIdTask.java | 35 -
.../proto/GridHadoopProtocolSubmitJobTask.java | 57 -
.../proto/GridHadoopProtocolTaskAdapter.java | 113 -
.../proto/GridHadoopProtocolTaskArguments.java | 81 -
.../hadoop/proto/HadoopClientProtocol.java | 333 +++
.../proto/HadoopProtocolJobCountersTask.java | 46 +
.../proto/HadoopProtocolJobStatusTask.java | 81 +
.../hadoop/proto/HadoopProtocolKillJobTask.java | 46 +
.../proto/HadoopProtocolNextTaskIdTask.java | 35 +
.../proto/HadoopProtocolSubmitJobTask.java | 57 +
.../hadoop/proto/HadoopProtocolTaskAdapter.java | 113 +
.../proto/HadoopProtocolTaskArguments.java | 81 +
.../hadoop/shuffle/GridHadoopShuffle.java | 256 --
.../hadoop/shuffle/GridHadoopShuffleAck.java | 91 -
.../hadoop/shuffle/GridHadoopShuffleJob.java | 593 -----
.../shuffle/GridHadoopShuffleMessage.java | 242 --
.../hadoop/shuffle/HadoopShuffle.java | 256 ++
.../hadoop/shuffle/HadoopShuffleAck.java | 91 +
.../hadoop/shuffle/HadoopShuffleJob.java | 593 +++++
.../hadoop/shuffle/HadoopShuffleMessage.java | 241 ++
.../GridHadoopConcurrentHashMultimap.java | 611 -----
.../collections/GridHadoopHashMultimap.java | 174 --
.../collections/GridHadoopHashMultimapBase.java | 208 --
.../shuffle/collections/GridHadoopMultimap.java | 112 -
.../collections/GridHadoopMultimapBase.java | 368 ---
.../shuffle/collections/GridHadoopSkipList.java | 726 ------
.../HadoopConcurrentHashMultimap.java | 611 +++++
.../shuffle/collections/HadoopHashMultimap.java | 174 ++
.../collections/HadoopHashMultimapBase.java | 208 ++
.../shuffle/collections/HadoopMultimap.java | 112 +
.../shuffle/collections/HadoopMultimapBase.java | 368 +++
.../shuffle/collections/HadoopSkipList.java | 726 ++++++
.../shuffle/streams/GridHadoopDataInStream.java | 170 --
.../streams/GridHadoopDataOutStream.java | 131 -
.../streams/GridHadoopOffheapBuffer.java | 122 -
.../shuffle/streams/HadoopDataInStream.java | 170 ++
.../shuffle/streams/HadoopDataOutStream.java | 131 +
.../shuffle/streams/HadoopOffheapBuffer.java | 122 +
.../GridHadoopEmbeddedTaskExecutor.java | 146 --
.../taskexecutor/GridHadoopExecutorService.java | 232 --
.../taskexecutor/GridHadoopRunnableTask.java | 268 --
.../GridHadoopTaskExecutorAdapter.java | 57 -
.../taskexecutor/GridHadoopTaskState.java | 38 -
.../taskexecutor/GridHadoopTaskStatus.java | 114 -
.../HadoopEmbeddedTaskExecutor.java | 146 ++
.../taskexecutor/HadoopExecutorService.java | 231 ++
.../hadoop/taskexecutor/HadoopRunnableTask.java | 268 ++
.../taskexecutor/HadoopTaskExecutorAdapter.java | 57 +
.../hadoop/taskexecutor/HadoopTaskState.java | 38 +
.../hadoop/taskexecutor/HadoopTaskStatus.java | 114 +
.../GridHadoopExternalTaskExecutor.java | 960 -------
.../GridHadoopExternalTaskMetadata.java | 68 -
.../GridHadoopJobInfoUpdateRequest.java | 109 -
.../GridHadoopPrepareForJobRequest.java | 126 -
.../external/GridHadoopProcessDescriptor.java | 150 --
.../external/GridHadoopProcessStartedAck.java | 46 -
.../GridHadoopTaskExecutionRequest.java | 110 -
.../external/GridHadoopTaskFinishedMessage.java | 92 -
.../external/HadoopExternalTaskExecutor.java | 960 +++++++
.../external/HadoopExternalTaskMetadata.java | 68 +
.../external/HadoopJobInfoUpdateRequest.java | 109 +
.../external/HadoopPrepareForJobRequest.java | 126 +
.../external/HadoopProcessDescriptor.java | 150 ++
.../external/HadoopProcessStartedAck.java | 46 +
.../external/HadoopTaskExecutionRequest.java | 110 +
.../external/HadoopTaskFinishedMessage.java | 92 +
.../child/GridHadoopChildProcessRunner.java | 440 ----
.../child/GridHadoopExternalProcessStarter.java | 296 ---
.../child/HadoopChildProcessRunner.java | 440 ++++
.../child/HadoopExternalProcessStarter.java | 296 +++
.../GridHadoopAbstractCommunicationClient.java | 96 -
.../GridHadoopCommunicationClient.java | 72 -
.../GridHadoopExternalCommunication.java | 1431 -----------
.../GridHadoopHandshakeTimeoutException.java | 42 -
.../GridHadoopIpcToNioAdapter.java | 239 --
.../GridHadoopMarshallerFilter.java | 84 -
.../GridHadoopMessageListener.java | 39 -
.../GridHadoopTcpNioCommunicationClient.java | 99 -
.../HadoopAbstractCommunicationClient.java | 96 +
.../HadoopCommunicationClient.java | 72 +
.../HadoopExternalCommunication.java | 1431 +++++++++++
.../HadoopHandshakeTimeoutException.java | 42 +
.../communication/HadoopIpcToNioAdapter.java | 239 ++
.../communication/HadoopMarshallerFilter.java | 84 +
.../communication/HadoopMessageListener.java | 39 +
.../HadoopTcpNioCommunicationClient.java | 99 +
.../hadoop/v1/GridHadoopV1CleanupTask.java | 62 -
.../hadoop/v1/GridHadoopV1Counter.java | 105 -
.../hadoop/v1/GridHadoopV1MapTask.java | 111 -
.../hadoop/v1/GridHadoopV1OutputCollector.java | 130 -
.../hadoop/v1/GridHadoopV1Partitioner.java | 44 -
.../hadoop/v1/GridHadoopV1ReduceTask.java | 92 -
.../hadoop/v1/GridHadoopV1Reporter.java | 79 -
.../hadoop/v1/GridHadoopV1SetupTask.java | 56 -
.../hadoop/v1/GridHadoopV1Splitter.java | 97 -
.../processors/hadoop/v1/GridHadoopV1Task.java | 95 -
.../hadoop/v1/HadoopV1CleanupTask.java | 62 +
.../processors/hadoop/v1/HadoopV1Counter.java | 105 +
.../processors/hadoop/v1/HadoopV1MapTask.java | 111 +
.../hadoop/v1/HadoopV1OutputCollector.java | 130 +
.../hadoop/v1/HadoopV1Partitioner.java | 44 +
.../hadoop/v1/HadoopV1ReduceTask.java | 92 +
.../processors/hadoop/v1/HadoopV1Reporter.java | 79 +
.../processors/hadoop/v1/HadoopV1SetupTask.java | 56 +
.../processors/hadoop/v1/HadoopV1Splitter.java | 97 +
.../processors/hadoop/v1/HadoopV1Task.java | 95 +
.../hadoop/v2/GridHadoopExternalSplit.java | 87 -
.../hadoop/v2/GridHadoopNativeCodeLoader.java | 74 -
.../v2/GridHadoopSerializationWrapper.java | 133 -
.../v2/GridHadoopShutdownHookManager.java | 96 -
.../hadoop/v2/GridHadoopSplitWrapper.java | 118 -
.../hadoop/v2/GridHadoopV2CleanupTask.java | 73 -
.../hadoop/v2/GridHadoopV2Context.java | 230 --
.../hadoop/v2/GridHadoopV2Counter.java | 87 -
.../processors/hadoop/v2/GridHadoopV2Job.java | 280 ---
.../v2/GridHadoopV2JobResourceManager.java | 305 ---
.../hadoop/v2/GridHadoopV2MapTask.java | 109 -
.../hadoop/v2/GridHadoopV2Partitioner.java | 44 -
.../hadoop/v2/GridHadoopV2ReduceTask.java | 88 -
.../hadoop/v2/GridHadoopV2SetupTask.java | 66 -
.../hadoop/v2/GridHadoopV2Splitter.java | 105 -
.../processors/hadoop/v2/GridHadoopV2Task.java | 181 --
.../hadoop/v2/GridHadoopV2TaskContext.java | 443 ----
.../v2/GridHadoopWritableSerialization.java | 74 -
.../hadoop/v2/HadoopExternalSplit.java | 87 +
.../hadoop/v2/HadoopNativeCodeLoader.java | 74 +
.../hadoop/v2/HadoopSerializationWrapper.java | 133 +
.../hadoop/v2/HadoopShutdownHookManager.java | 96 +
.../hadoop/v2/HadoopSplitWrapper.java | 118 +
.../hadoop/v2/HadoopV2CleanupTask.java | 73 +
.../processors/hadoop/v2/HadoopV2Context.java | 230 ++
.../processors/hadoop/v2/HadoopV2Counter.java | 87 +
.../processors/hadoop/v2/HadoopV2Job.java | 280 +++
.../hadoop/v2/HadoopV2JobResourceManager.java | 305 +++
.../processors/hadoop/v2/HadoopV2MapTask.java | 109 +
.../hadoop/v2/HadoopV2Partitioner.java | 44 +
.../hadoop/v2/HadoopV2ReduceTask.java | 88 +
.../processors/hadoop/v2/HadoopV2SetupTask.java | 66 +
.../processors/hadoop/v2/HadoopV2Splitter.java | 105 +
.../processors/hadoop/v2/HadoopV2Task.java | 181 ++
.../hadoop/v2/HadoopV2TaskContext.java | 444 ++++
.../hadoop/v2/HadoopWritableSerialization.java | 74 +
...op.mapreduce.protocol.ClientProtocolProvider | 2 +-
...ridHadoopClientProtocolEmbeddedSelfTest.java | 34 -
.../GridHadoopClientProtocolSelfTest.java | 633 -----
.../HadoopClientProtocolEmbeddedSelfTest.java | 34 +
.../hadoop/HadoopClientProtocolSelfTest.java | 635 +++++
.../HadoopIgfs20FileSystemAbstractSelfTest.java | 1967 +++++++++++++++
...Igfs20FileSystemLoopbackPrimarySelfTest.java | 74 +
...oopIgfs20FileSystemShmemPrimarySelfTest.java | 74 +
.../igfs/HadoopIgfsDualAbstractSelfTest.java | 305 +++
.../igfs/HadoopIgfsDualAsyncSelfTest.java | 32 +
.../ignite/igfs/HadoopIgfsDualSyncSelfTest.java | 32 +
...oopSecondaryFileSystemConfigurationTest.java | 27 +-
.../apache/ignite/igfs/IgfsEventsTestSuite.java | 54 +-
.../IgfsHadoop20FileSystemAbstractSelfTest.java | 1967 ---------------
...doop20FileSystemLoopbackPrimarySelfTest.java | 74 -
...sHadoop20FileSystemShmemPrimarySelfTest.java | 74 -
.../igfs/IgfsHadoopDualAbstractSelfTest.java | 304 ---
.../igfs/IgfsHadoopDualAsyncSelfTest.java | 32 -
.../ignite/igfs/IgfsHadoopDualSyncSelfTest.java | 32 -
.../IgfsHadoopFileSystemAbstractSelfTest.java | 2366 ------------------
.../IgfsHadoopFileSystemClientSelfTest.java | 199 --
.../IgfsHadoopFileSystemHandshakeSelfTest.java | 311 ---
.../IgfsHadoopFileSystemIpcCacheSelfTest.java | 207 --
.../IgfsHadoopFileSystemLoggerSelfTest.java | 287 ---
...IgfsHadoopFileSystemLoggerStateSelfTest.java | 325 ---
...adoopFileSystemLoopbackAbstractSelfTest.java | 46 -
...SystemLoopbackEmbeddedDualAsyncSelfTest.java | 33 -
...eSystemLoopbackEmbeddedDualSyncSelfTest.java | 33 -
...leSystemLoopbackEmbeddedPrimarySelfTest.java | 33 -
...SystemLoopbackEmbeddedSecondarySelfTest.java | 34 -
...SystemLoopbackExternalDualAsyncSelfTest.java | 33 -
...eSystemLoopbackExternalDualSyncSelfTest.java | 33 -
...leSystemLoopbackExternalPrimarySelfTest.java | 33 -
...SystemLoopbackExternalSecondarySelfTest.java | 34 -
...fsHadoopFileSystemSecondaryModeSelfTest.java | 319 ---
...fsHadoopFileSystemShmemAbstractSelfTest.java | 88 -
...ileSystemShmemEmbeddedDualAsyncSelfTest.java | 33 -
...FileSystemShmemEmbeddedDualSyncSelfTest.java | 33 -
...pFileSystemShmemEmbeddedPrimarySelfTest.java | 33 -
...ileSystemShmemEmbeddedSecondarySelfTest.java | 33 -
...ileSystemShmemExternalDualAsyncSelfTest.java | 33 -
...FileSystemShmemExternalDualSyncSelfTest.java | 33 -
...pFileSystemShmemExternalPrimarySelfTest.java | 33 -
...ileSystemShmemExternalSecondarySelfTest.java | 33 -
.../igfs/IgfsNearOnlyMultiNodeSelfTest.java | 4 +-
.../IgniteHadoopFileSystemAbstractSelfTest.java | 2366 ++++++++++++++++++
.../IgniteHadoopFileSystemClientSelfTest.java | 199 ++
...IgniteHadoopFileSystemHandshakeSelfTest.java | 311 +++
.../IgniteHadoopFileSystemIpcCacheSelfTest.java | 207 ++
.../IgniteHadoopFileSystemLoggerSelfTest.java | 287 +++
...niteHadoopFileSystemLoggerStateSelfTest.java | 325 +++
...adoopFileSystemLoopbackAbstractSelfTest.java | 46 +
...SystemLoopbackEmbeddedDualAsyncSelfTest.java | 33 +
...eSystemLoopbackEmbeddedDualSyncSelfTest.java | 33 +
...leSystemLoopbackEmbeddedPrimarySelfTest.java | 33 +
...SystemLoopbackEmbeddedSecondarySelfTest.java | 34 +
...SystemLoopbackExternalDualAsyncSelfTest.java | 33 +
...eSystemLoopbackExternalDualSyncSelfTest.java | 33 +
...leSystemLoopbackExternalPrimarySelfTest.java | 33 +
...SystemLoopbackExternalSecondarySelfTest.java | 34 +
...teHadoopFileSystemSecondaryModeSelfTest.java | 319 +++
...teHadoopFileSystemShmemAbstractSelfTest.java | 88 +
...ileSystemShmemEmbeddedDualAsyncSelfTest.java | 33 +
...FileSystemShmemEmbeddedDualSyncSelfTest.java | 33 +
...pFileSystemShmemEmbeddedPrimarySelfTest.java | 33 +
...ileSystemShmemEmbeddedSecondarySelfTest.java | 33 +
...ileSystemShmemExternalDualAsyncSelfTest.java | 33 +
...FileSystemShmemExternalDualSyncSelfTest.java | 33 +
...pFileSystemShmemExternalPrimarySelfTest.java | 33 +
...ileSystemShmemExternalSecondarySelfTest.java | 33 +
.../hadoop/GridHadoopAbstractSelfTest.java | 222 --
.../hadoop/GridHadoopAbstractWordCountTest.java | 138 -
.../hadoop/GridHadoopClassLoaderTest.java | 69 -
.../hadoop/GridHadoopCommandLineTest.java | 440 ----
...idHadoopDefaultMapReducePlannerSelfTest.java | 1005 --------
.../hadoop/GridHadoopFileSystemsTest.java | 177 --
.../hadoop/GridHadoopGroupingTest.java | 286 ---
.../hadoop/GridHadoopJobTrackerSelfTest.java | 330 ---
.../GridHadoopMapReduceEmbeddedSelfTest.java | 245 --
.../hadoop/GridHadoopMapReduceTest.java | 195 --
.../hadoop/GridHadoopPopularWordsTest.java | 294 ---
.../GridHadoopSerializationWrapperSelfTest.java | 74 -
.../processors/hadoop/GridHadoopSharedMap.java | 67 -
.../hadoop/GridHadoopSortingExternalTest.java | 32 -
.../hadoop/GridHadoopSortingTest.java | 281 ---
.../hadoop/GridHadoopSplitWrapperSelfTest.java | 68 -
.../processors/hadoop/GridHadoopStartup.java | 55 -
.../hadoop/GridHadoopTaskExecutionSelfTest.java | 551 ----
.../hadoop/GridHadoopTasksAllVersionsTest.java | 259 --
.../hadoop/GridHadoopTasksV1Test.java | 57 -
.../hadoop/GridHadoopTasksV2Test.java | 75 -
.../GridHadoopTestRoundRobinMrPlanner.java | 66 -
.../hadoop/GridHadoopTestTaskContext.java | 219 --
.../processors/hadoop/GridHadoopTestUtils.java | 102 -
.../hadoop/GridHadoopV2JobSelfTest.java | 88 -
.../hadoop/GridHadoopValidationSelfTest.java | 53 -
.../hadoop/HadoopAbstractSelfTest.java | 222 ++
.../hadoop/HadoopAbstractWordCountTest.java | 138 +
.../hadoop/HadoopClassLoaderTest.java | 69 +
.../hadoop/HadoopCommandLineTest.java | 440 ++++
.../HadoopDefaultMapReducePlannerSelfTest.java | 1006 ++++++++
.../hadoop/HadoopFileSystemsTest.java | 177 ++
.../processors/hadoop/HadoopGroupingTest.java | 287 +++
.../hadoop/HadoopJobTrackerSelfTest.java | 331 +++
.../hadoop/HadoopMapReduceEmbeddedSelfTest.java | 246 ++
.../processors/hadoop/HadoopMapReduceTest.java | 197 ++
.../hadoop/HadoopPopularWordsTest.java | 294 +++
.../HadoopSerializationWrapperSelfTest.java | 74 +
.../processors/hadoop/HadoopSharedMap.java | 67 +
.../hadoop/HadoopSortingExternalTest.java | 34 +
.../processors/hadoop/HadoopSortingTest.java | 282 +++
.../hadoop/HadoopSplitWrapperSelfTest.java | 68 +
.../processors/hadoop/HadoopStartup.java | 54 +
.../hadoop/HadoopTaskExecutionSelfTest.java | 551 ++++
.../hadoop/HadoopTasksAllVersionsTest.java | 259 ++
.../processors/hadoop/HadoopTasksV1Test.java | 57 +
.../processors/hadoop/HadoopTasksV2Test.java | 75 +
.../hadoop/HadoopTestRoundRobinMrPlanner.java | 66 +
.../hadoop/HadoopTestTaskContext.java | 219 ++
.../processors/hadoop/HadoopTestUtils.java | 102 +
.../processors/hadoop/HadoopV2JobSelfTest.java | 88 +
.../hadoop/HadoopValidationSelfTest.java | 53 +
.../hadoop/examples/GridHadoopWordCount1.java | 88 -
.../examples/GridHadoopWordCount1Map.java | 62 -
.../examples/GridHadoopWordCount1Reduce.java | 51 -
.../hadoop/examples/GridHadoopWordCount2.java | 95 -
.../examples/GridHadoopWordCount2Mapper.java | 72 -
.../examples/GridHadoopWordCount2Reducer.java | 70 -
.../hadoop/examples/HadoopWordCount1.java | 88 +
.../hadoop/examples/HadoopWordCount1Map.java | 62 +
.../hadoop/examples/HadoopWordCount1Reduce.java | 51 +
.../hadoop/examples/HadoopWordCount2.java | 95 +
.../hadoop/examples/HadoopWordCount2Mapper.java | 72 +
.../examples/HadoopWordCount2Reducer.java | 70 +
.../collections/GridHadoopAbstractMapTest.java | 152 --
...ridHadoopConcurrentHashMultimapSelftest.java | 267 --
.../collections/GridHadoopHashMapSelfTest.java | 170 --
.../collections/GridHadoopSkipListSelfTest.java | 303 ---
.../collections/HadoopAbstractMapTest.java | 154 ++
.../HadoopConcurrentHashMultimapSelftest.java | 267 ++
.../collections/HadoopHashMapSelfTest.java | 170 ++
.../collections/HadoopSkipListSelfTest.java | 303 +++
.../streams/GridHadoopDataStreamSelfTest.java | 151 --
.../streams/HadoopDataStreamSelfTest.java | 151 ++
.../GridHadoopExecutorServiceTest.java | 119 -
.../taskexecutor/HadoopExecutorServiceTest.java | 119 +
...GridHadoopExternalTaskExecutionSelfTest.java | 210 --
.../HadoopExternalTaskExecutionSelfTest.java | 211 ++
...GridHadoopExternalCommunicationSelfTest.java | 209 --
.../HadoopExternalCommunicationSelfTest.java | 209 ++
.../testsuites/IgniteHadoopTestSuite.java | 82 +-
.../IgniteIgfsLinuxAndMacOSTestSuite.java | 22 +-
.../org/apache/ignite/IgniteSpringBean.java | 4 +-
.../scala/org/apache/ignite/visor/visor.scala | 4 +-
pom.xml | 12 +-
561 files changed, 47565 insertions(+), 47291 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/bin/setup-hadoop.bat
----------------------------------------------------------------------
diff --git a/bin/setup-hadoop.bat b/bin/setup-hadoop.bat
index c4c73b3..a11ef8c 100644
--- a/bin/setup-hadoop.bat
+++ b/bin/setup-hadoop.bat
@@ -23,6 +23,6 @@
if "%OS%" == "Windows_NT" setlocal
-set MAIN_CLASS=org.apache.ignite.hadoop.GridHadoopSetup
+set MAIN_CLASS=org.apache.ignite.internal.processors.hadoop.HadoopSetup
call "%~dp0\ignite.bat" %*
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/bin/setup-hadoop.sh
----------------------------------------------------------------------
diff --git a/bin/setup-hadoop.sh b/bin/setup-hadoop.sh
index 8969dfa..d66353f 100755
--- a/bin/setup-hadoop.sh
+++ b/bin/setup-hadoop.sh
@@ -54,7 +54,7 @@ setIgniteHome
#
# Set utility environment.
#
-export MAIN_CLASS=org.apache.ignite.internal.processors.hadoop.GridHadoopSetup
+export MAIN_CLASS=org.apache.ignite.internal.processors.hadoop.HadoopSetup
#
# Start utility.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/config/hadoop/default-config.xml
----------------------------------------------------------------------
diff --git a/config/hadoop/default-config.xml b/config/hadoop/default-config.xml
index a264749..65a281e 100644
--- a/config/hadoop/default-config.xml
+++ b/config/hadoop/default-config.xml
@@ -52,7 +52,7 @@
<!--
Abstract IGFS file system configuration to be used as a template.
-->
- <bean id="igfsCfgBase" class="org.apache.ignite.configuration.IgfsConfiguration" abstract="true">
+ <bean id="igfsCfgBase" class="org.apache.ignite.configuration.FileSystemConfiguration" abstract="true">
<!-- Must correlate with cache affinity mapper. -->
<property name="blockSize" value="#{128 * 1024}"/>
<property name="perNodeBatchSize" value="512"/>
@@ -94,7 +94,7 @@
Apache Hadoop Accelerator configuration.
-->
<property name="hadoopConfiguration">
- <bean class="org.apache.ignite.internal.processors.hadoop.GridHadoopConfiguration">
+ <bean class="org.apache.ignite.configuration.HadoopConfiguration">
<!-- Information about finished jobs will be kept for 30 seconds. -->
<property name="finishedJobInfoTtl" value="30000"/>
</bean>
@@ -112,9 +112,9 @@
<!--
Configure one IGFS file system instance named "igfs" on this node.
-->
- <property name="igfsConfiguration">
+ <property name="fileSystemConfiguration">
<list>
- <bean class="org.apache.ignite.configuration.IgfsConfiguration" parent="igfsCfgBase">
+ <bean class="org.apache.ignite.configuration.FileSystemConfiguration" parent="igfsCfgBase">
<property name="name" value="igfs"/>
<!-- Caches with these names must be configured. -->
@@ -135,7 +135,7 @@
<property name="defaultMode" value="PROXY"/>
<property name="secondaryFileSystem">
- <bean class="org.apache.ignite.igfs.hadoop.IgfsHadoopFileSystemWrapper">
+ <bean class="org.apache.ignite.hadoop.fs.IgniteHadoopIgfsSecondaryFileSystem">
<constructor-arg name="uri" value="hdfs://1.2.3.4:9000"/>
<constructor-arg name="cfgPath" value="/opt/hadoop-server/etc/hadoop/core-site.xml"/>
</bean>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/docs/core-site.ignite.xml
----------------------------------------------------------------------
diff --git a/docs/core-site.ignite.xml b/docs/core-site.ignite.xml
index ed11a79..8b8e634 100644
--- a/docs/core-site.ignite.xml
+++ b/docs/core-site.ignite.xml
@@ -48,7 +48,7 @@
-->
<property>
<name>fs.igfs.impl</name>
- <value>org.apache.ignite.igfs.hadoop.v1.IgfsHadoopFileSystem</value>
+ <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>
</property>
<!--
@@ -56,7 +56,7 @@
-->
<property>
<name>fs.AbstractFileSystem.igfs.impl</name>
- <value>org.apache.ignite.igfs.hadoop.v2.IgfsHadoopFileSystem</value>
+ <value>org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem</value>
</property>
<!--
@@ -73,7 +73,7 @@
<!--
<property>
<name>ignite.counters.writer</name>
- <value>org.apache.ignite.internal.processors.hadoop.counter.GridHadoopFSCounterWriter</value>
+ <value>org.apache.ignite.hadoop.fs.IgniteHadoopFileSystemCounterWriter</value>
</property>
-->
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/examples/config/filesystem/core-site.xml
----------------------------------------------------------------------
diff --git a/examples/config/filesystem/core-site.xml b/examples/config/filesystem/core-site.xml
index 7c6cfaa..b6f0291 100644
--- a/examples/config/filesystem/core-site.xml
+++ b/examples/config/filesystem/core-site.xml
@@ -31,12 +31,12 @@
<property>
<!-- FS driver class for the 'igfs://' URIs. -->
<name>fs.igfs.impl</name>
- <value>org.apache.ignite.igfs.hadoop.v1.IgfsHadoopFileSystem</value>
+ <value>org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem</value>
</property>
<property>
<!-- FS driver class for the 'igfs://' URIs in Hadoop2.x -->
<name>fs.AbstractFileSystem.igfs.impl</name>
- <value>org.apache.ignite.igfs.hadoop.v2.IgfsHadoopFileSystem</value>
+ <value>org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem</value>
</property>
</configuration>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/examples/config/filesystem/example-igfs.xml
----------------------------------------------------------------------
diff --git a/examples/config/filesystem/example-igfs.xml b/examples/config/filesystem/example-igfs.xml
index 30cf51e..d8ccd34 100644
--- a/examples/config/filesystem/example-igfs.xml
+++ b/examples/config/filesystem/example-igfs.xml
@@ -63,9 +63,9 @@
</bean>
</property>
- <property name="igfsConfiguration">
+ <property name="fileSystemConfiguration">
<list>
- <bean class="org.apache.ignite.configuration.IgfsConfiguration">
+ <bean class="org.apache.ignite.configuration.FileSystemConfiguration">
<property name="name" value="igfs"/>
<property name="metaCacheName" value="igfs-meta"/>
<property name="dataCacheName" value="igfs-data"/>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsExample.java b/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsExample.java
index 56f3fa4..8bfd38d 100644
--- a/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsExample.java
@@ -25,7 +25,7 @@ import java.io.*;
import java.util.*;
/**
- * Example that shows usage of {@link org.apache.ignite.IgniteFs} API. It starts a node with {@code IgniteFs}
+ * Example that shows usage of {@link org.apache.ignite.IgniteFileSystem} API. It starts a node with {@code IgniteFs}
* configured and performs several file system operations (create, write, append, read and delete
* files, create, list and delete directories).
* <p>
@@ -50,7 +50,7 @@ public final class IgfsExample {
try {
// Get an instance of Ignite File System.
- IgniteFs fs = ignite.fileSystem("igfs");
+ IgniteFileSystem fs = ignite.fileSystem("igfs");
// Working directory path.
IgfsPath workDir = new IgfsPath("/examples/fs");
@@ -107,7 +107,7 @@ public final class IgfsExample {
* @param path File or directory path.
* @throws IgniteException In case of error.
*/
- private static void delete(IgniteFs fs, IgfsPath path) throws IgniteException {
+ private static void delete(IgniteFileSystem fs, IgfsPath path) throws IgniteException {
assert fs != null;
assert path != null;
@@ -139,7 +139,7 @@ public final class IgfsExample {
* @param path Directory path.
* @throws IgniteException In case of error.
*/
- private static void mkdirs(IgniteFs fs, IgfsPath path) throws IgniteException {
+ private static void mkdirs(IgniteFileSystem fs, IgfsPath path) throws IgniteException {
assert fs != null;
assert path != null;
@@ -166,7 +166,7 @@ public final class IgfsExample {
* @throws IgniteException If file can't be created.
* @throws IOException If data can't be written.
*/
- private static void create(IgniteFs fs, IgfsPath path, @Nullable byte[] data)
+ private static void create(IgniteFileSystem fs, IgfsPath path, @Nullable byte[] data)
throws IgniteException, IOException {
assert fs != null;
assert path != null;
@@ -195,7 +195,7 @@ public final class IgfsExample {
* @throws IgniteException If file can't be created.
* @throws IOException If data can't be written.
*/
- private static void append(IgniteFs fs, IgfsPath path, byte[] data) throws IgniteException, IOException {
+ private static void append(IgniteFileSystem fs, IgfsPath path, byte[] data) throws IgniteException, IOException {
assert fs != null;
assert path != null;
assert data != null;
@@ -220,7 +220,7 @@ public final class IgfsExample {
* @throws IgniteException If file can't be opened.
* @throws IOException If data can't be read.
*/
- private static void read(IgniteFs fs, IgfsPath path) throws IgniteException, IOException {
+ private static void read(IgniteFileSystem fs, IgfsPath path) throws IgniteException, IOException {
assert fs != null;
assert path != null;
assert fs.info(path).isFile();
@@ -242,7 +242,7 @@ public final class IgfsExample {
* @param path Directory path.
* @throws IgniteException In case of error.
*/
- private static void list(IgniteFs fs, IgfsPath path) throws IgniteException {
+ private static void list(IgniteFileSystem fs, IgfsPath path) throws IgniteException {
assert fs != null;
assert path != null;
assert fs.info(path).isDirectory();
@@ -271,7 +271,7 @@ public final class IgfsExample {
* @param path File or directory path.
* @throws IgniteException In case of error.
*/
- private static void printInfo(IgniteFs fs, IgfsPath path) throws IgniteException {
+ private static void printInfo(IgniteFileSystem fs, IgfsPath path) throws IgniteException {
System.out.println();
System.out.println("Information for " + path + ": " + fs.info(path));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsMapReduceExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsMapReduceExample.java b/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsMapReduceExample.java
index 22a66a3..ed0abe4 100644
--- a/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsMapReduceExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/igfs/IgfsMapReduceExample.java
@@ -61,7 +61,7 @@ public class IgfsMapReduceExample {
String regexStr = args[1];
// Get an instance of Ignite File System.
- IgniteFs fs = ignite.fileSystem("igfs");
+ IgniteFileSystem fs = ignite.fileSystem("igfs");
// Working directory path.
IgfsPath workDir = new IgfsPath("/examples/fs");
@@ -94,7 +94,7 @@ public class IgfsMapReduceExample {
* @param file File to write.
* @throws Exception In case of exception.
*/
- private static void writeFile(IgniteFs fs, IgfsPath fsPath, File file) throws Exception {
+ private static void writeFile(IgniteFileSystem fs, IgfsPath fsPath, File file) throws Exception {
System.out.println();
System.out.println("Copying file to IGFS: " + file);
@@ -173,7 +173,7 @@ public class IgfsMapReduceExample {
}
/** {@inheritDoc} */
- @Override public Object execute(IgniteFs igfs, IgfsRangeInputStream in) throws IgniteException, IOException {
+ @Override public Object execute(IgniteFileSystem igfs, IgfsRangeInputStream in) throws IgniteException, IOException {
Collection<Line> res = null;
long start = in.startOffset();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/modules/core/src/main/java/org/apache/ignite/Ignite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java b/modules/core/src/main/java/org/apache/ignite/Ignite.java
index 8851d8f..31b827e 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignite.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java
@@ -43,7 +43,7 @@ import java.util.concurrent.*;
* <ul>
* <li>{@link org.apache.ignite.cache.GridCache} - functionality for in-memory distributed cache.</li>
* <li>{@link IgniteDataLoader} - functionality for loading data large amounts of data into cache.</li>
- * <li>{@link IgniteFs} - functionality for distributed Hadoop-compliant in-memory file system and map-reduce.</li>
+ * <li>{@link IgniteFileSystem} - functionality for distributed Hadoop-compliant in-memory file system and map-reduce.</li>
* <li>{@link IgniteStreamer} - functionality for streaming events workflow with queries and indexes into rolling windows.</li>
* <li>{@link IgniteScheduler} - functionality for scheduling jobs using UNIX Cron syntax.</li>
* <li>{@link IgniteCompute} - functionality for executing tasks and closures on all grid nodes (inherited form {@link ClusterGroup}).</li>
@@ -213,7 +213,7 @@ public interface Ignite extends AutoCloseable {
public <K, V> IgniteDataLoader<K, V> dataLoader(@Nullable String cacheName);
/**
- * Gets an instance of IGFS - Ignite In-Memory File System, if one is not
+ * Gets an instance of IGFS (Ignite In-Memory File System). If one is not
* configured then {@link IllegalArgumentException} will be thrown.
* <p>
* IGFS is fully compliant with Hadoop {@code FileSystem} APIs and can
@@ -222,15 +222,16 @@ public interface Ignite extends AutoCloseable {
*
* @param name IGFS name.
* @return IGFS instance.
+ * @throws IllegalArgumentException If IGFS with such name is not configured.
*/
- public IgniteFs fileSystem(String name);
+ public IgniteFileSystem fileSystem(String name);
/**
- * Gets all instances of the grid file systems.
+ * Gets all instances of IGFS (Ignite In-Memory File System).
*
- * @return Collection of grid file systems instances.
+ * @return Collection of IGFS instances.
*/
- public Collection<IgniteFs> fileSystems();
+ public Collection<IgniteFileSystem> fileSystems();
/**
* Gets an instance of streamer by name, if one does not exist then
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/modules/core/src/main/java/org/apache/ignite/IgniteFileSystem.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteFileSystem.java b/modules/core/src/main/java/org/apache/ignite/IgniteFileSystem.java
new file mode 100644
index 0000000..d221ae2
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteFileSystem.java
@@ -0,0 +1,457 @@
+/*
+ * 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;
+
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.igfs.*;
+import org.apache.ignite.igfs.mapreduce.*;
+import org.apache.ignite.lang.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * <b>IG</b>nite <b>F</b>ile <b>S</b>ystem API. It provides a typical file system "view" on a particular cache:
+ * <ul>
+ * <li>list directories or get information for a single path</li>
+ * <li>create/move/delete files or directories</li>
+ * <li>write/read data streams into/from files</li>
+ * </ul>
+ * The data of each file is split on separate data blocks and stored in the cache.
+ * You can access file's data with a standard Java streaming API. Moreover, for each part
+ * of the file you can calculate an affinity and process file's content on corresponding
+ * nodes to escape unnecessary networking.
+ * <p/>
+ * This API is fully thread-safe and you can use it from several threads.
+ * <h1 class="header">IGFS Configuration</h1>
+ * The simplest way to run a Ignite node with configured file system is to pass
+ * special configuration file included in Ignite distribution to {@code ignite.sh} or
+ * {@code ignite.bat} scripts, like this: {@code ignite.sh config/hadoop/default-config.xml}
+ * <p>
+ * {@code IGFS} can be started as a data node or as a client node. Data node is responsible for
+ * caching data, while client node is responsible for basic file system operations and accessing
+ * data nodes remotely. When used as Hadoop file system, clients nodes usually started together
+ * with {@code job-submitter} or {@code job-scheduler} processes, while data nodes are usually
+ * started together with Hadoop {@code task-tracker} processes.
+ * <h1 class="header">Integration With Hadoop</h1>
+ * In addition to direct file system API, {@code IGFS} can be integrated with {@code Hadoop} by
+ * plugging in as {@code Hadoop FileSystem}. Refer to
+ * {@code org.apache.ignite.hadoop.fs.v1.IgniteHadoopFileSystem} or
+ * {@code org.apache.ignite.hadoop.fs.v2.IgniteHadoopFileSystem} for more information.
+ * <p>
+ * <b>NOTE:</b> integration with Hadoop is available only in {@code In-Memory Accelerator For Hadoop} edition.
+ */
+public interface IgniteFileSystem extends IgniteAsyncSupport {
+ /** IGFS scheme name. */
+ public static final String IGFS_SCHEME = "igfs";
+
+ /**
+ * Gets IGFS name.
+ *
+ * @return IGFS name, or {@code null} for default file system.
+ */
+ public String name();
+
+ /**
+ * Gets IGFS configuration.
+ *
+ * @return IGFS configuration.
+ */
+ public FileSystemConfiguration configuration();
+
+ /**
+ * Gets summary (total number of files, total number of directories and total length)
+ * for a given path.
+ *
+ * @param path Path to get information for.
+ * @return Summary object.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path is not found.
+ * @throws IgniteException If failed.
+ */
+ public IgfsPathSummary summary(IgfsPath path) throws IgniteException;
+
+ /**
+ * Opens a file for reading.
+ *
+ * @param path File path to read.
+ * @return File input stream to read data from.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
+ */
+ public IgfsInputStream open(IgfsPath path) throws IgniteException;
+
+ /**
+ * Opens a file for reading.
+ *
+ * @param path File path to read.
+ * @param bufSize Read buffer size (bytes) or {@code zero} to use default value.
+ * @return File input stream to read data from.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
+ */
+ public IgfsInputStream open(IgfsPath path, int bufSize) throws IgniteException;
+
+ /**
+ * Opens a file for reading.
+ *
+ * @param path File path to read.
+ * @param bufSize Read buffer size (bytes) or {@code zero} to use default value.
+ * @param seqReadsBeforePrefetch Amount of sequential reads before prefetch is started.
+ * @return File input stream to read data from.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
+ */
+ public IgfsInputStream open(IgfsPath path, int bufSize, int seqReadsBeforePrefetch) throws IgniteException;
+
+ /**
+ * Creates a file and opens it for writing.
+ *
+ * @param path File path to create.
+ * @param overwrite Overwrite file if it already exists. Note: you cannot overwrite an existent directory.
+ * @return File output stream to write data to.
+ * @throws IgniteException In case of error.
+ */
+ public IgfsOutputStream create(IgfsPath path, boolean overwrite) throws IgniteException;
+
+ /**
+ * Creates a file and opens it for writing.
+ *
+ * @param path File path to create.
+ * @param bufSize Write buffer size (bytes) or {@code zero} to use default value.
+ * @param overwrite Overwrite file if it already exists. Note: you cannot overwrite an existent directory.
+ * @param replication Replication factor.
+ * @param blockSize Block size.
+ * @param props File properties to set.
+ * @return File output stream to write data to.
+ * @throws IgniteException In case of error.
+ */
+ public IgfsOutputStream create(IgfsPath path, int bufSize, boolean overwrite, int replication,
+ long blockSize, @Nullable Map<String, String> props) throws IgniteException;
+
+ /**
+ * Creates a file and opens it for writing.
+ *
+ * @param path File path to create.
+ * @param bufSize Write buffer size (bytes) or {@code zero} to use default value.
+ * @param overwrite Overwrite file if it already exists. Note: you cannot overwrite an existent directory.
+ * @param affKey Affinity key used to store file blocks. If not {@code null}, the whole file will be
+ * stored on node where {@code affKey} resides.
+ * @param replication Replication factor.
+ * @param blockSize Block size.
+ * @param props File properties to set.
+ * @return File output stream to write data to.
+ * @throws IgniteException In case of error.
+ */
+ public IgfsOutputStream create(IgfsPath path, int bufSize, boolean overwrite,
+ @Nullable IgniteUuid affKey, int replication, long blockSize, @Nullable Map<String, String> props)
+ throws IgniteException;
+
+ /**
+ * Opens an output stream to an existing file for appending data.
+ *
+ * @param path File path to append.
+ * @param create Create file if it doesn't exist yet.
+ * @return File output stream to append data to.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist and create flag is {@code false}.
+ */
+ public IgfsOutputStream append(IgfsPath path, boolean create) throws IgniteException;
+
+ /**
+ * Opens an output stream to an existing file for appending data.
+ *
+ * @param path File path to append.
+ * @param bufSize Write buffer size (bytes) or {@code zero} to use default value.
+ * @param create Create file if it doesn't exist yet.
+ * @param props File properties to set only in case it file was just created.
+ * @return File output stream to append data to.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist and create flag is {@code false}.
+ */
+ public IgfsOutputStream append(IgfsPath path, int bufSize, boolean create, @Nullable Map<String, String> props)
+ throws IgniteException;
+
+ /**
+ * Sets last access time and last modification time for a given path. If argument is {@code null},
+ * corresponding time will not be changed.
+ *
+ * @param path Path to update.
+ * @param accessTime Optional last access time to set. Value {@code -1} does not update access time.
+ * @param modificationTime Optional last modification time to set. Value {@code -1} does not update
+ * modification time.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If target was not found.
+ * @throws IgniteException If error occurred.
+ */
+ public void setTimes(IgfsPath path, long accessTime, long modificationTime) throws IgniteException;
+
+ /**
+ * Gets affinity block locations for data blocks of the file, i.e. the nodes, on which the blocks
+ * are stored.
+ *
+ * @param path File path to get affinity for.
+ * @param start Position in the file to start affinity resolution from.
+ * @param len Size of data in the file to resolve affinity for.
+ * @return Affinity block locations.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
+ */
+ public Collection<IgfsBlockLocation> affinity(IgfsPath path, long start, long len) throws IgniteException;
+
+ /**
+ * Get affinity block locations for data blocks of the file. In case {@code maxLen} parameter is set and
+ * particular block location length is greater than this value, block locations will be split into smaller
+ * chunks.
+ *
+ * @param path File path to get affinity for.
+ * @param start Position in the file to start affinity resolution from.
+ * @param len Size of data in the file to resolve affinity for.
+ * @param maxLen Maximum length of a single returned block location length.
+ * @return Affinity block locations.
+ * @throws IgniteException In case of error.
+ * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
+ */
+ public Collection<IgfsBlockLocation> affinity(IgfsPath path, long start, long len, long maxLen)
+ throws IgniteException;
+
+ /**
+ * Gets metrics snapshot for this file system.
+ *
+ * @return Metrics.
+ * @throws IgniteException In case of error.
+ */
+ public IgfsMetrics metrics() throws IgniteException;
+
+ /**
+ * Resets metrics for this file system.
+ *
+ * @throws IgniteException In case of error.
+ */
+ public void resetMetrics() throws IgniteException;
+
+ /**
+ * Determines size of the file denoted by provided path. In case if path is a directory, then
+ * total size of all containing entries will be calculated recursively.
+ *
+ * @param path File system path.
+ * @return Total size.
+ * @throws IgniteException In case of error.
+ */
+ public long size(IgfsPath path) throws IgniteException;
+
+ /**
+ * Formats the file system removing all existing entries from it.
+ * <p>
+ * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
+ *
+ * @throws IgniteException In case format has failed.
+ */
+ @IgniteAsyncSupported
+ public void format() throws IgniteException;
+
+ /**
+ * Executes IGFS task.
+ * <p>
+ * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
+ *
+ * @param task Task to execute.
+ * @param rslvr Optional resolver to control split boundaries.
+ * @param paths Collection of paths to be processed within this task.
+ * @param arg Optional task argument.
+ * @return Task result.
+ * @throws IgniteException If execution failed.
+ */
+ @IgniteAsyncSupported
+ public <T, R> R execute(IgfsTask<T, R> task, @Nullable IgfsRecordResolver rslvr,
+ Collection<IgfsPath> paths, @Nullable T arg) throws IgniteException;
+
+ /**
+ * Executes IGFS task with overridden maximum range length (see
+ * {@link org.apache.ignite.configuration.FileSystemConfiguration#getMaximumTaskRangeLength()} for more information).
+ * <p>
+ * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
+ *
+ * @param task Task to execute.
+ * @param rslvr Optional resolver to control split boundaries.
+ * @param paths Collection of paths to be processed within this task.
+ * @param skipNonExistentFiles Whether to skip non existent files. If set to {@code true} non-existent files will
+ * be ignored. Otherwise an exception will be thrown.
+ * @param maxRangeLen Optional maximum range length. If {@code 0}, then by default all consecutive
+ * IGFS blocks will be included.
+ * @param arg Optional task argument.
+ * @return Task result.
+ * @throws IgniteException If execution failed.
+ */
+ @IgniteAsyncSupported
+ public <T, R> R execute(IgfsTask<T, R> task, @Nullable IgfsRecordResolver rslvr,
+ Collection<IgfsPath> paths, boolean skipNonExistentFiles, long maxRangeLen, @Nullable T arg)
+ throws IgniteException;
+
+ /**
+ * Executes IGFS task.
+ * <p>
+ * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
+ *
+ * @param taskCls Task class to execute.
+ * @param rslvr Optional resolver to control split boundaries.
+ * @param paths Collection of paths to be processed within this task.
+ * @param arg Optional task argument.
+ * @return Task result.
+ * @throws IgniteException If execution failed.
+ */
+ @IgniteAsyncSupported
+ public <T, R> R execute(Class<? extends IgfsTask<T, R>> taskCls,
+ @Nullable IgfsRecordResolver rslvr, Collection<IgfsPath> paths, @Nullable T arg) throws IgniteException;
+
+ /**
+ * Executes IGFS task with overridden maximum range length (see
+ * {@link org.apache.ignite.configuration.FileSystemConfiguration#getMaximumTaskRangeLength()} for more information).
+ * <p>
+ * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
+ *
+ * @param taskCls Task class to execute.
+ * @param rslvr Optional resolver to control split boundaries.
+ * @param paths Collection of paths to be processed within this task.
+ * @param skipNonExistentFiles Whether to skip non existent files. If set to {@code true} non-existent files will
+ * be ignored. Otherwise an exception will be thrown.
+ * @param maxRangeLen Maximum range length.
+ * @param arg Optional task argument.
+ * @return Task result.
+ * @throws IgniteException If execution failed.
+ */
+ @IgniteAsyncSupported
+ public <T, R> R execute(Class<? extends IgfsTask<T, R>> taskCls,
+ @Nullable IgfsRecordResolver rslvr, Collection<IgfsPath> paths, boolean skipNonExistentFiles,
+ long maxRangeLen, @Nullable T arg) throws IgniteException;
+
+ /**
+ * Checks if the specified path exists in the file system.
+ *
+ * @param path Path to check for existence in the file system.
+ * @return {@code True} if such file exists, otherwise - {@code false}.
+ * @throws IgniteException In case of error.
+ */
+ public boolean exists(IgfsPath path);
+
+ /**
+ * Updates file information for the specified path. Existent properties, not listed in the passed collection,
+ * will not be affected. Other properties will be added or overwritten. Passed properties with {@code null} values
+ * will be removed from the stored properties or ignored if they don't exist in the file info.
+ * <p>
+ * When working in {@code DUAL_SYNC} or {@code DUAL_ASYNC} modes only the following properties will be propagated
+ * to the secondary file system:
+ * <ul>
+ * <li>{@code usrName} - file owner name;</li>
+ * <li>{@code grpName} - file owner group;</li>
+ * <li>{@code permission} - Unix-style string representing file permissions.</li>
+ * </ul>
+ *
+ * @param path File path to set properties for.
+ * @param props Properties to update.
+ * @return File information for specified path or {@code null} if such path does not exist.
+ * @throws IgniteException In case of error.
+ */
+ public IgfsFile update(IgfsPath path, Map<String, String> props) throws IgniteException;
+
+ /**
+ * Renames/moves a file.
+ * <p>
+ * You are free to rename/move data files as you wish, but directories can be only renamed.
+ * You cannot move the directory between different parent directories.
+ * <p>
+ * Examples:
+ * <ul>
+ * <li>"/work/file.txt" => "/home/project/Presentation Scenario.txt"</li>
+ * <li>"/work" => "/work-2012.bkp"</li>
+ * <li>"/work" => "<strike>/backups/work</strike>" - such operation is restricted for directories.</li>
+ * </ul>
+ *
+ * @param src Source file path to rename.
+ * @param dest Destination file path. If destination path is a directory, then source file will be placed
+ * into destination directory with original name.
+ * @throws IgniteException In case of error.
+ * @throws IgfsFileNotFoundException If source file doesn't exist.
+ */
+ public void rename(IgfsPath src, IgfsPath dest) throws IgniteException;
+
+ /**
+ * Deletes file.
+ *
+ * @param path File path to delete.
+ * @param recursive Delete non-empty directories recursively.
+ * @return {@code True} in case of success, {@code false} otherwise.
+ * @throws IgniteException In case of error.
+ */
+ public boolean delete(IgfsPath path, boolean recursive) throws IgniteException;
+
+ /**
+ * Creates directories under specified path.
+ *
+ * @param path Path of directories chain to create.
+ * @throws IgniteException In case of error.
+ */
+ public void mkdirs(IgfsPath path) throws IgniteException;
+
+ /**
+ * Creates directories under specified path with the specified properties.
+ *
+ * @param path Path of directories chain to create.
+ * @param props Metadata properties to set on created directories.
+ * @throws IgniteException In case of error.
+ */
+ public void mkdirs(IgfsPath path, @Nullable Map<String, String> props) throws IgniteException;
+
+ /**
+ * Lists file paths under the specified path.
+ *
+ * @param path Path to list files under.
+ * @return List of files under the specified path.
+ * @throws IgniteException In case of error.
+ * @throws IgfsFileNotFoundException If path doesn't exist.
+ */
+ public Collection<IgfsPath> listPaths(IgfsPath path) throws IgniteException;
+
+ /**
+ * Lists files under the specified path.
+ *
+ * @param path Path to list files under.
+ * @return List of files under the specified path.
+ * @throws IgniteException In case of error.
+ * @throws IgfsFileNotFoundException If path doesn't exist.
+ */
+ public Collection<IgfsFile> listFiles(IgfsPath path) throws IgniteException;
+
+ /**
+ * Gets file information for the specified path.
+ *
+ * @param path Path to get information for.
+ * @return File information for specified path or {@code null} if such path does not exist.
+ * @throws IgniteException In case of error.
+ */
+ public IgfsFile info(IgfsPath path) throws IgniteException;
+
+ /**
+ * Gets used space in bytes.
+ *
+ * @return Used space in bytes.
+ * @throws IgniteException In case of error.
+ */
+ public long usedSpaceSize() throws IgniteException;
+
+ /** {@inheritDoc} */
+ @Override public IgniteFileSystem withAsync();
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6423cf02/modules/core/src/main/java/org/apache/ignite/IgniteFs.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteFs.java b/modules/core/src/main/java/org/apache/ignite/IgniteFs.java
deleted file mode 100644
index dc11973..0000000
--- a/modules/core/src/main/java/org/apache/ignite/IgniteFs.java
+++ /dev/null
@@ -1,346 +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;
-
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.igfs.*;
-import org.apache.ignite.igfs.mapreduce.*;
-import org.apache.ignite.lang.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * <b>IG</b>nite <b>F</b>ile <b>S</b>ystem API. It provides a typical file system "view" on a particular cache:
- * <ul>
- * <li>list directories or get information for a single path</li>
- * <li>create/move/delete files or directories</li>
- * <li>write/read data streams into/from files</li>
- * </ul>
- * The data of each file is split on separate data blocks and stored in the cache.
- * You can access file's data with a standard Java streaming API. Moreover, for each part
- * of the file you can calculate an affinity and process file's content on corresponding
- * nodes to escape unnecessary networking.
- * <p/>
- * This API is fully thread-safe and you can use it from several threads.
- * <h1 class="header">IGFS Configuration</h1>
- * The simplest way to run a Ignite node with configured file system is to pass
- * special configuration file included in Ignite distribution to {@code ignite.sh} or
- * {@code ignite.bat} scripts, like this: {@code ignite.sh config/hadoop/default-config.xml}
- * <p>
- * {@code IGFS} can be started as a data node or as a client node. Data node is responsible for
- * caching data, while client node is responsible for basic file system operations and accessing
- * data nodes remotely. When used as Hadoop file system, clients nodes usually started together
- * with {@code job-submitter} or {@code job-scheduler} processes, while data nodes are usually
- * started together with Hadoop {@code task-tracker} processes.
- * <h1 class="header">Integration With Hadoop</h1>
- * In addition to direct file system API, {@code IGFS} can be integrated with {@code Hadoop} by
- * plugging in as {@code Hadoop FileSystem}. Refer to
- * {@code org.apache.ignite.igfs.hadoop.v1.IgfsHadoopFileSystem} or
- * {@code org.apache.ignite.igfs.hadoop.v2.IgfsHadoopFileSystem} for more information.
- * <p>
- * <b>NOTE:</b> integration with Hadoop is available only in {@code In-Memory Accelerator For Hadoop} edition.
- */
-public interface IgniteFs extends Igfs, IgniteAsyncSupport {
- /** IGFS scheme name. */
- public static final String IGFS_SCHEME = "igfs";
-
- /** File property: prefer writes to local node. */
- public static final String PROP_PREFER_LOCAL_WRITES = "locWrite";
-
- /**
- * Gets IGFS name.
- *
- * @return IGFS name, or {@code null} for default file system.
- */
- public String name();
-
- /**
- * Gets IGFS configuration.
- *
- * @return IGFS configuration.
- */
- public IgfsConfiguration configuration();
-
- /**
- * Gets summary (total number of files, total number of directories and total length)
- * for a given path.
- *
- * @param path Path to get information for.
- * @return Summary object.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path is not found.
- * @throws IgniteException If failed.
- */
- public IgfsPathSummary summary(IgfsPath path) throws IgniteException;
-
- /**
- * Opens a file for reading.
- *
- * @param path File path to read.
- * @return File input stream to read data from.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
- */
- public IgfsInputStream open(IgfsPath path) throws IgniteException;
-
- /**
- * Opens a file for reading.
- *
- * @param path File path to read.
- * @param bufSize Read buffer size (bytes) or {@code zero} to use default value.
- * @return File input stream to read data from.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
- */
- @Override public IgfsInputStream open(IgfsPath path, int bufSize) throws IgniteException;
-
- /**
- * Opens a file for reading.
- *
- * @param path File path to read.
- * @param bufSize Read buffer size (bytes) or {@code zero} to use default value.
- * @param seqReadsBeforePrefetch Amount of sequential reads before prefetch is started.
- * @return File input stream to read data from.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
- */
- public IgfsInputStream open(IgfsPath path, int bufSize, int seqReadsBeforePrefetch) throws IgniteException;
-
- /**
- * Creates a file and opens it for writing.
- *
- * @param path File path to create.
- * @param overwrite Overwrite file if it already exists. Note: you cannot overwrite an existent directory.
- * @return File output stream to write data to.
- * @throws IgniteException In case of error.
- */
- @Override public IgfsOutputStream create(IgfsPath path, boolean overwrite) throws IgniteException;
-
- /**
- * Creates a file and opens it for writing.
- *
- * @param path File path to create.
- * @param bufSize Write buffer size (bytes) or {@code zero} to use default value.
- * @param overwrite Overwrite file if it already exists. Note: you cannot overwrite an existent directory.
- * @param replication Replication factor.
- * @param blockSize Block size.
- * @param props File properties to set.
- * @return File output stream to write data to.
- * @throws IgniteException In case of error.
- */
- @Override public IgfsOutputStream create(IgfsPath path, int bufSize, boolean overwrite, int replication,
- long blockSize, @Nullable Map<String, String> props) throws IgniteException;
-
- /**
- * Creates a file and opens it for writing.
- *
- * @param path File path to create.
- * @param bufSize Write buffer size (bytes) or {@code zero} to use default value.
- * @param overwrite Overwrite file if it already exists. Note: you cannot overwrite an existent directory.
- * @param affKey Affinity key used to store file blocks. If not {@code null}, the whole file will be
- * stored on node where {@code affKey} resides.
- * @param replication Replication factor.
- * @param blockSize Block size.
- * @param props File properties to set.
- * @return File output stream to write data to.
- * @throws IgniteException In case of error.
- */
- public IgfsOutputStream create(IgfsPath path, int bufSize, boolean overwrite,
- @Nullable IgniteUuid affKey, int replication, long blockSize, @Nullable Map<String, String> props)
- throws IgniteException;
-
- /**
- * Opens an output stream to an existing file for appending data.
- *
- * @param path File path to append.
- * @param create Create file if it doesn't exist yet.
- * @return File output stream to append data to.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist and create flag is {@code false}.
- */
- public IgfsOutputStream append(IgfsPath path, boolean create) throws IgniteException;
-
- /**
- * Opens an output stream to an existing file for appending data.
- *
- * @param path File path to append.
- * @param bufSize Write buffer size (bytes) or {@code zero} to use default value.
- * @param create Create file if it doesn't exist yet.
- * @param props File properties to set only in case it file was just created.
- * @return File output stream to append data to.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist and create flag is {@code false}.
- */
- @Override public IgfsOutputStream append(IgfsPath path, int bufSize, boolean create,
- @Nullable Map<String, String> props) throws IgniteException;
-
- /**
- * Sets last access time and last modification time for a given path. If argument is {@code null},
- * corresponding time will not be changed.
- *
- * @param path Path to update.
- * @param accessTime Optional last access time to set. Value {@code -1} does not update access time.
- * @param modificationTime Optional last modification time to set. Value {@code -1} does not update
- * modification time.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If target was not found.
- * @throws IgniteException If error occurred.
- */
- public void setTimes(IgfsPath path, long accessTime, long modificationTime) throws IgniteException;
-
- /**
- * Gets affinity block locations for data blocks of the file, i.e. the nodes, on which the blocks
- * are stored.
- *
- * @param path File path to get affinity for.
- * @param start Position in the file to start affinity resolution from.
- * @param len Size of data in the file to resolve affinity for.
- * @return Affinity block locations.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
- */
- public Collection<IgfsBlockLocation> affinity(IgfsPath path, long start, long len) throws IgniteException;
-
- /**
- * Get affinity block locations for data blocks of the file. In case {@code maxLen} parameter is set and
- * particular block location length is greater than this value, block locations will be split into smaller
- * chunks.
- *
- * @param path File path to get affinity for.
- * @param start Position in the file to start affinity resolution from.
- * @param len Size of data in the file to resolve affinity for.
- * @param maxLen Maximum length of a single returned block location length.
- * @return Affinity block locations.
- * @throws IgniteException In case of error.
- * @throws org.apache.ignite.igfs.IgfsFileNotFoundException If path doesn't exist.
- */
- public Collection<IgfsBlockLocation> affinity(IgfsPath path, long start, long len, long maxLen)
- throws IgniteException;
-
- /**
- * Gets metrics snapshot for this file system.
- *
- * @return Metrics.
- * @throws IgniteException In case of error.
- */
- public IgfsMetrics metrics() throws IgniteException;
-
- /**
- * Resets metrics for this file system.
- *
- * @throws IgniteException In case of error.
- */
- public void resetMetrics() throws IgniteException;
-
- /**
- * Determines size of the file denoted by provided path. In case if path is a directory, then
- * total size of all containing entries will be calculated recursively.
- *
- * @param path File system path.
- * @return Total size.
- * @throws IgniteException In case of error.
- */
- public long size(IgfsPath path) throws IgniteException;
-
- /**
- * Formats the file system removing all existing entries from it.
- * <p>
- * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
- *
- * @throws IgniteException In case format has failed.
- */
- @IgniteAsyncSupported
- public void format() throws IgniteException;
-
- /**
- * Executes IGFS task.
- * <p>
- * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
- *
- * @param task Task to execute.
- * @param rslvr Optional resolver to control split boundaries.
- * @param paths Collection of paths to be processed within this task.
- * @param arg Optional task argument.
- * @return Task result.
- * @throws IgniteException If execution failed.
- */
- @IgniteAsyncSupported
- public <T, R> R execute(IgfsTask<T, R> task, @Nullable IgfsRecordResolver rslvr,
- Collection<IgfsPath> paths, @Nullable T arg) throws IgniteException;
-
- /**
- * Executes IGFS task with overridden maximum range length (see
- * {@link org.apache.ignite.configuration.IgfsConfiguration#getMaximumTaskRangeLength()} for more information).
- * <p>
- * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
- *
- * @param task Task to execute.
- * @param rslvr Optional resolver to control split boundaries.
- * @param paths Collection of paths to be processed within this task.
- * @param skipNonExistentFiles Whether to skip non existent files. If set to {@code true} non-existent files will
- * be ignored. Otherwise an exception will be thrown.
- * @param maxRangeLen Optional maximum range length. If {@code 0}, then by default all consecutive
- * IGFS blocks will be included.
- * @param arg Optional task argument.
- * @return Task result.
- * @throws IgniteException If execution failed.
- */
- @IgniteAsyncSupported
- public <T, R> R execute(IgfsTask<T, R> task, @Nullable IgfsRecordResolver rslvr,
- Collection<IgfsPath> paths, boolean skipNonExistentFiles, long maxRangeLen, @Nullable T arg)
- throws IgniteException;
-
- /**
- * Executes IGFS task.
- * <p>
- * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
- *
- * @param taskCls Task class to execute.
- * @param rslvr Optional resolver to control split boundaries.
- * @param paths Collection of paths to be processed within this task.
- * @param arg Optional task argument.
- * @return Task result.
- * @throws IgniteException If execution failed.
- */
- @IgniteAsyncSupported
- public <T, R> R execute(Class<? extends IgfsTask<T, R>> taskCls,
- @Nullable IgfsRecordResolver rslvr, Collection<IgfsPath> paths, @Nullable T arg) throws IgniteException;
-
- /**
- * Executes IGFS task with overridden maximum range length (see
- * {@link org.apache.ignite.configuration.IgfsConfiguration#getMaximumTaskRangeLength()} for more information).
- * <p>
- * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
- *
- * @param taskCls Task class to execute.
- * @param rslvr Optional resolver to control split boundaries.
- * @param paths Collection of paths to be processed within this task.
- * @param skipNonExistentFiles Whether to skip non existent files. If set to {@code true} non-existent files will
- * be ignored. Otherwise an exception will be thrown.
- * @param maxRangeLen Maximum range length.
- * @param arg Optional task argument.
- * @return Task result.
- * @throws IgniteException If execution failed.
- */
- @IgniteAsyncSupported
- public <T, R> R execute(Class<? extends IgfsTask<T, R>> taskCls,
- @Nullable IgfsRecordResolver rslvr, Collection<IgfsPath> paths, boolean skipNonExistentFiles,
- long maxRangeLen, @Nullable T arg) throws IgniteException;
-
- /** {@inheritDoc} */
- @Override public IgniteFs withAsync();
-}