You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2014/12/29 22:17:58 UTC

[1/4] incubator-nifi git commit: NIFI-187: Fixed bug that prevents nifi from shutting down properly when RemoteProcessGroup is present on graph

Repository: incubator-nifi
Updated Branches:
  refs/heads/develop 87b07384a -> 6f1c12f5e


NIFI-187: Fixed bug that prevents nifi from shutting down properly when RemoteProcessGroup is present on graph


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/a2fd2636
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/a2fd2636
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/a2fd2636

Branch: refs/heads/develop
Commit: a2fd2636d011855759846e3ef99172ef905a3d33
Parents: d850768
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Dec 19 16:03:08 2014 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Dec 19 16:03:08 2014 -0500

----------------------------------------------------------------------
 .../org/apache/nifi/groups/RemoteProcessGroup.java     |  2 ++
 .../org/apache/nifi/groups/StandardProcessGroup.java   |  4 ++++
 .../apache/nifi/remote/StandardRemoteProcessGroup.java |  5 +++++
 .../main/java/org/apache/nifi/bootstrap/RunNiFi.java   | 13 ++++++++++---
 .../java/org/apache/nifi/bootstrap/ShutdownHook.java   | 11 +++++++++--
 5 files changed, 30 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a2fd2636/nar-bundles/framework-bundle/framework/core-api/src/main/java/org/apache/nifi/groups/RemoteProcessGroup.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/core-api/src/main/java/org/apache/nifi/groups/RemoteProcessGroup.java b/nar-bundles/framework-bundle/framework/core-api/src/main/java/org/apache/nifi/groups/RemoteProcessGroup.java
index 3acd1d3..e0cca64 100644
--- a/nar-bundles/framework-bundle/framework/core-api/src/main/java/org/apache/nifi/groups/RemoteProcessGroup.java
+++ b/nar-bundles/framework-bundle/framework/core-api/src/main/java/org/apache/nifi/groups/RemoteProcessGroup.java
@@ -47,6 +47,8 @@ public interface RemoteProcessGroup {
 
     void setComments(String comments);
 
+    void shutdown();
+    
     /**
      * Returns the name of this RemoteProcessGroup. The value returned will
      * never be null. If unable to communicate with the remote instance, the URI

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a2fd2636/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
index 1064536..8cff5dd 100644
--- a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
+++ b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
@@ -333,6 +333,10 @@ public final class StandardProcessGroup implements ProcessGroup {
             }
         }
 
+        for ( final RemoteProcessGroup rpg : procGroup.getRemoteProcessGroups() ) {
+            rpg.shutdown();
+        }
+        
         // Recursively shutdown child groups.
         for (final ProcessGroup group : procGroup.getProcessGroups()) {
             shutdown(group);

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a2fd2636/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
index d3fb41f..b2f541c 100644
--- a/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
+++ b/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
@@ -285,6 +285,11 @@ public class StandardRemoteProcessGroup implements RemoteProcessGroup {
     }
 
     @Override
+    public void shutdown() {
+        backgroundThreadExecutor.shutdown();
+    }
+    
+    @Override
     public String getIdentifier() {
         return id;
     }

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a2fd2636/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
----------------------------------------------------------------------
diff --git a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
index 437493e..0f97f2d 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -34,7 +34,6 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.attribute.PosixFilePermission;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -80,6 +79,8 @@ public class RunNiFi {
 	private volatile boolean autoRestartNiFi = true;
 	private volatile int ccPort = -1;
 	private volatile long nifiPid = -1L;
+	private volatile String secretKey;
+	private volatile ShutdownHook shutdownHook;
 	
 	private final Lock lock = new ReentrantLock();
 	private final Condition startupCondition = lock.newCondition();
@@ -675,7 +676,7 @@ public class RunNiFi {
                 saveProperties(nifiProps);
             }
 			
-			ShutdownHook shutdownHook = new ShutdownHook(process, this, gracefulShutdownSeconds);
+			shutdownHook = new ShutdownHook(process, this, secretKey, gracefulShutdownSeconds);
 			final Runtime runtime = Runtime.getRuntime();
 			runtime.addShutdownHook(shutdownHook);
 			
@@ -706,7 +707,7 @@ public class RunNiFi {
 			                saveProperties(nifiProps);
 			            }
 						
-						shutdownHook = new ShutdownHook(process, this, gracefulShutdownSeconds);
+						shutdownHook = new ShutdownHook(process, this, secretKey, gracefulShutdownSeconds);
 						runtime.addShutdownHook(shutdownHook);
 						
 						final boolean started = waitForStart();
@@ -812,6 +813,12 @@ public class RunNiFi {
 	
 	void setNiFiCommandControlPort(final int port, final String secretKey) {
 		this.ccPort = port;
+		this.secretKey = secretKey;
+		
+		if ( shutdownHook != null ) {
+		    shutdownHook.setSecretKey(secretKey);
+		}
+		
 		final File statusFile = getStatusFile();
 		
 		final Properties nifiProps = new Properties();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/a2fd2636/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
----------------------------------------------------------------------
diff --git a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
index 3c5ed1f..3d3a241 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/ShutdownHook.java
@@ -28,12 +28,19 @@ public class ShutdownHook extends Thread {
 	private final RunNiFi runner;
 	private final int gracefulShutdownSeconds;
 	
-	public ShutdownHook(final Process nifiProcess, final RunNiFi runner, final int gracefulShutdownSeconds) {
+	private volatile String secretKey;
+	
+	public ShutdownHook(final Process nifiProcess, final RunNiFi runner, final String secretKey, final int gracefulShutdownSeconds) {
 		this.nifiProcess = nifiProcess;
 		this.runner = runner;
+		this.secretKey = secretKey;
 		this.gracefulShutdownSeconds = gracefulShutdownSeconds;
 	}
 	
+	void setSecretKey(final String secretKey) {
+	    this.secretKey = secretKey;
+	}
+	
 	@Override
 	public void run() {
 		runner.setAutoRestartNiFi(false);
@@ -44,7 +51,7 @@ public class ShutdownHook extends Thread {
 			try {
 				final Socket socket = new Socket("localhost", ccPort);
 				final OutputStream out = socket.getOutputStream();
-				out.write("SHUTDOWN\n".getBytes(StandardCharsets.UTF_8));
+				out.write(("SHUTDOWN " + secretKey + "\n").getBytes(StandardCharsets.UTF_8));
 				out.flush();
 				
 				socket.close();


[4/4] incubator-nifi git commit: Updated user guide

Posted by ma...@apache.org.
Updated user guide


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/6f1c12f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/6f1c12f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/6f1c12f5

Branch: refs/heads/develop
Commit: 6f1c12f5efa5006685ed89b91df0a75ba2a15a5b
Parents: 40890c9
Author: Mark Payne <ma...@hotmail.com>
Authored: Mon Dec 29 16:17:48 2014 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Mon Dec 29 16:17:48 2014 -0500

----------------------------------------------------------------------
 .../main/asciidoc/images/iconInputPortSmall.png | Bin 0 -> 532 bytes
 .../src/main/asciidoc/images/iconNotSecure.png  | Bin 137 -> 221 bytes
 .../asciidoc/images/iconOutputPortSmall.png     | Bin 0 -> 459 bytes
 .../src/main/asciidoc/images/iconResize.png     | Bin 0 -> 165 bytes
 .../src/main/asciidoc/images/iconSecure.png     | Bin 133 -> 225 bytes
 .../src/main/asciidoc/images/iconSummary.png    | Bin 0 -> 272 bytes
 .../asciidoc/images/process-group-anatomy.png   | Bin 0 -> 48554 bytes
 .../asciidoc/images/remote-group-anatomy.png    | Bin 0 -> 61383 bytes
 .../src/main/asciidoc/images/status-history.png | Bin 0 -> 33205 bytes
 .../main/asciidoc/images/summary-annotated.png  | Bin 0 -> 111956 bytes
 .../src/main/asciidoc/images/summary-table.png  | Bin 0 -> 62114 bytes
 nifi-docs/src/main/asciidoc/user-guide.adoc     | 300 ++++++++++++++++++-
 12 files changed, 294 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/iconInputPortSmall.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/iconInputPortSmall.png b/nifi-docs/src/main/asciidoc/images/iconInputPortSmall.png
new file mode 100644
index 0000000..1bbc079
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/iconInputPortSmall.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/iconNotSecure.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/iconNotSecure.png b/nifi-docs/src/main/asciidoc/images/iconNotSecure.png
index ae4c013..77ae0a2 100644
Binary files a/nifi-docs/src/main/asciidoc/images/iconNotSecure.png and b/nifi-docs/src/main/asciidoc/images/iconNotSecure.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/iconOutputPortSmall.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/iconOutputPortSmall.png b/nifi-docs/src/main/asciidoc/images/iconOutputPortSmall.png
new file mode 100644
index 0000000..d9338b3
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/iconOutputPortSmall.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/iconResize.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/iconResize.png b/nifi-docs/src/main/asciidoc/images/iconResize.png
new file mode 100644
index 0000000..d6fd0a3
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/iconResize.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/iconSecure.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/iconSecure.png b/nifi-docs/src/main/asciidoc/images/iconSecure.png
index a47388f..3f165a8 100644
Binary files a/nifi-docs/src/main/asciidoc/images/iconSecure.png and b/nifi-docs/src/main/asciidoc/images/iconSecure.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/iconSummary.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/iconSummary.png b/nifi-docs/src/main/asciidoc/images/iconSummary.png
new file mode 100644
index 0000000..973933c
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/iconSummary.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/process-group-anatomy.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/process-group-anatomy.png b/nifi-docs/src/main/asciidoc/images/process-group-anatomy.png
new file mode 100644
index 0000000..dd09218
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/process-group-anatomy.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/remote-group-anatomy.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/remote-group-anatomy.png b/nifi-docs/src/main/asciidoc/images/remote-group-anatomy.png
new file mode 100644
index 0000000..3403aeb
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/remote-group-anatomy.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/status-history.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/status-history.png b/nifi-docs/src/main/asciidoc/images/status-history.png
new file mode 100644
index 0000000..89ce235
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/status-history.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/summary-annotated.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/summary-annotated.png b/nifi-docs/src/main/asciidoc/images/summary-annotated.png
new file mode 100644
index 0000000..30c5b10
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/summary-annotated.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/images/summary-table.png
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/images/summary-table.png b/nifi-docs/src/main/asciidoc/images/summary-table.png
new file mode 100644
index 0000000..609ec7c
Binary files /dev/null and b/nifi-docs/src/main/asciidoc/images/summary-table.png differ

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/6f1c12f5/nifi-docs/src/main/asciidoc/user-guide.adoc
----------------------------------------------------------------------
diff --git a/nifi-docs/src/main/asciidoc/user-guide.adoc b/nifi-docs/src/main/asciidoc/user-guide.adoc
index ff26f0f..547ee62 100644
--- a/nifi-docs/src/main/asciidoc/user-guide.adoc
+++ b/nifi-docs/src/main/asciidoc/user-guide.adoc
@@ -75,7 +75,7 @@ Terminology
 	These templates can also be exported as XML and imported into another NiFi instance, allowing these building blocks to be shared.
 
 
-
+[[User_Interface]]
 NiFi User Interface
 -------------------
 
@@ -101,7 +101,7 @@ components on the graph. Following the Actions Toolbar is the Search Toolbar. Th
 Search field that allows users to easily find components on the graph. Users are able to search by component name,
 type, identifier, and configuration properties.
 
-Finally, the Management Toolbar sits to the right-hand side of the screen. This toolbar consists of buttons that are
+The Management Toolbar sits to the right-hand side of the screen. This toolbar consists of buttons that are
 of use to DataFlow Managers to manage the flow as well as administrators who may use this section to manage user access
 and configure system properties, such as how many system resources should be provided to the application.
 
@@ -575,7 +575,7 @@ of the Processor configuration dialog or the configuration dialog for a Port.
 Only Ports and Processors can be enabled and disabled.
 
 
-
+[[Remote_Group_Transmission]]
 === Remote Process Group Transmission
 
 Remote Process Groups provide a mechanism for sending data to or retrieving data from a remote instance
@@ -593,7 +593,7 @@ image:iconAlert.png["Warning"]
 ) may instead be present in the top-left corner. Hovering over this Warning indicator with the mouse will provide
 more information about the problem.
 
-
+[[Remote_Port_Configuration]]
 ==== Individual Port Transmission
 
 There are times when the DFM may want to either enable or disable transmission for only a specific 
@@ -652,7 +652,7 @@ monitoring artifacts below.
 === Anatomy of a Processor
 
 NiFi provides a significant amount of information about each Processor on the canvas. The following diagram
-is the anatomy of a Processor:
+shows the anatomy of a Processor:
 
 image:processor-anatomy.png["Anatomy of a Processor"]
 
@@ -729,19 +729,307 @@ The image outlines the following elements:
 	
 		 
 
+
+
 [[process_group_anatomy]]
 === Anatomy of a Process Group
 
+The Process Group provides a mechanism for grouping components together into a logical construct in order
+to organize the DataFlow in a way that makes it more understandable from a higher level. 
+The following image highlights the different elements that make up the anatomy of a Process Group:
+
+image::process-group-anatomy.png["Anatomy of a Process Group"]
+
+The Process Group consists of the following elements:
+
+- *Name*: This is the user-defined name of the Process Group. This name is set when the Process Group
+	is added to the canvas. The name can later by changed by right-clicking on the Process Group and clicking
+	the ``Configure'' menu option. In this example, the name of the Process Group is ``Process Group ABC.''
+	
+- *Bulletin Indicator*: When a child component of a Process Group emits a bulletin, that bulletin is propagated to
+	the component's parent Process Group, as well. When any component has an active Bulletin, this indicator will appear,
+	allowing the user to hover over the icon with the mouse to see Bulletin.
+	
+- *Active Tasks*: The number of tasks that are currently executing by the components within this
+	Process Group. Here, we can see that the Process Group is currently performing one task. If the 
+	NiFi instance is clustered, this value represents the number of tasks that are currently executing 
+	across all nodes in the cluster.
+	
+- *Comments*: When the Process Group is added to the canvas, the user is given the option of specifying Comments in order
+	to provide information about the Process Group. The comments can later be changed by right-clicking on the Process
+	Group and clicking the ``Configure'' menu option. In this example, the Comments are set to ``Example Process Group.''
+
+- *Statistics*: Process Groups provide statics about the amount of data that has been processed by the Process Group in
+	the past 5 minutes as well as the amount of data currently enqueued within the Process Group. The following elements
+	comprise the ``Statics'' portion of a Process Group:
+	** *Queued*: The number of FlowFiles currently enqueued within the Process Group.
+		This field is represented as <count> / <size> where <count> is the number of FlowFiles that are
+		currently enqueued in the Process Group and <size> is the total size of those FlowFiles' content. In this example,
+		the Process Group currently has 1,738 FlowFiles enqueued; those FlowFiles have a total size of 350.03 megabytes (MB).
+ 	
+ 	** *In*: The number of FlowFiles that have been transferred into the Process Group through all of its Input Ports
+ 		over the past 5 minutes. This field is represented as <count> / <size> where <count> is the number of FlowFiles that
+		have entered the Process Group in the past 5 minutes and <size> is the total size of those FlowFiles' content. 
+		In this example, 686 FlowFiles have entered the Process Group and their total size is 214.01 MB.
+	
+	** *Read/Write*: The total size of the FlowFile content that the components within the Process Group have 
+		read from disk and written to disk. This provides valuable information about the I/O performance that this 
+		Process Group requires. In this example, we see that in the past five minutes, components within this 
+		Process Group have read 72.9 MB of the FlowFile content and have written 686.65 MB.
+		
+	** *Out*: The number of FlowFiles that have been transferred out of the Process Group through its Output Ports
+		over the past 5 minutes. This field is represented as <count> / <size> where <count> is the number of FlowFiles that
+		have exited the Process Group in the past 5 minutes and <size> is the total size of those FlowFiles' content.
+		In this example, 657 FlowFiles have exited the Process Group and their total size is 477.74 MB.
+ 
+- *Component Counts*: The Component Counts element provides information about how many components of each type exist
+	within the Process Group. The following provides information about each of these icons and their meanings:
+	
+	** image:iconInputPortSmall.png["Input Port", width=16]
+		*Input Ports*: The number of Input Ports that exist directly within this Process Group. This does not include any
+			Input Ports that exist within child Process Groups, as child groups' ports cannot be accessed directly.
+			
+	** image:iconOutputPortSmall.png["Output Port"]
+		*Output Ports*: The number of Output Ports that exist directly within this Process Group. This does not include any
+			 Output Ports that exist within child Process Group as child groups' ports cannot be accessed directly.
+			 
+	** image:iconTransmissionActive.png["Transmission Active"]
+		*Transmitting Ports*: The number of Remote Process Group Ports that currently are configured to transmit data to remote
+			instances of NiFi or pull data from remote instances of NiFi.
+			
+	** image:iconTransmissionInactive.png["Transmission Inactive"]
+		*Non-Transmitting Ports*: The number of Remote Process Group Ports that are currently connected to components within this
+			Process Group but currently have their transmission disabled.
+			
+	** image:iconRun.png["Running"]
+		*Running Components*: The number of Processors, Input Ports, and Output Ports that are currently running within this
+			Process Group.
+	
+	** image:iconStop.png["Stopped Components"]
+		*Stopped Components*: The number of Processors, Input Ports, and Output Ports that are currently not running but are
+			valid and enabled. These components are ready to be started.
+			
+	** image:iconAlert.png["Invalid Components"]
+		*Invalid Components*: The number of Processors, Input Ports, and Output Ports that are enabled but are currently 
+			not in a valid state. This may be due to misconfigured properties or not have all of the Relationships connected.
+		
+	** image:iconDisable.png["Disabled Components"]
+		*Disabled Components*: The number of Processors, Input Ports, and Output Ports that are currently disabled. These
+			components may or may not be valid. If the Process Group is started, these components will not cause any errors
+			but will not be started. 
+
+
+
+
 
 [[remote_group_anatomy]]
 === Anatomy of a Remote Process Group
 
-
+When creating a DataFlow, it is often necessary to transfer data from one instance of NiFi to another.
+In this case, the remote instance of NiFi can be thought of as a Process Group. For this reason, NiFi
+provides the concept of a Remote Process Group. From the User Interface, the Remote Process Group
+looks similar to the Process Group. However, rather than showing information about the inner workings
+and state of a Remote Process Group, such as queue sizes, the information rendered about a Remote
+Process Group is related to the interaction that occurs between this instance of NiFi and the remote
+instance.
+
+image::remote-group-anatomy.png["Anatomy of a Remote Process Group"]
+
+The image above shows the different elements that make up a Remote Process Group. Here, we provide an
+explanation of the icons and details about the information provided.
+
+- *Transmission Status*: The Transmission Status indicates whether or not data Transmission between this
+	instance of NiFi and the remote instance is currently enabled. The icon shown will be the
+	Transmission Enabled icon (
+image:iconTransmissionActive.png["Transmission Active"]
+	) if any of the Input Ports or Output Ports is currently configured to transmit or the Transmission 
+	Disabled icon (
+image:iconTransmissionInactive.png["Transmission Inactive"]
+	) if all of the Input Ports and Output Ports that are currently connected are stopped.
+
+- *Remote Instance Name*: This is the name of the NiFi instance that was reported by the remote instance.
+	When the Remote Process Group is first created, before this information has been obtained, the URL
+	of the remote instance will be shown here instead.
+
+- *Remote Instance URL*: This is the URL of the remote instance that the Remote Process Group points to.
+	This URL is entered when the Remote Process Group is added to the canvas and cannot be changed.
+	
+- *Secure Indicator*: This icon indicates whether or not communications with the remote NiFi instance are
+	secure. If communications with the remote instance are secure, this will be indicated by the ``locked''
+	icon (
+image:iconSecure.png["Secure"]
+	). If the communications are not secure, this will be indicated by the ``unlocked'' icon (
+image:iconNotSecure.png["Not Secure"]
+	). If the communications are secure, this instance of NiFi will not be able to communicate with the
+	remote instance until an administrator for the remote instance grants access. Whenever the Remote Process
+	Group is added to the canvas, this will automatically initiate a request to have a user created on the
+	remote instance. This instance will be unable to communicate with the remote instance until an administrator 
+	on the remote instance adds the user to the system and adds the ``NiFi'' role to the user.
+	In the event that communications are not secure, the Remote Process Group is able to receive data from anyone,
+	and the data is not encrypted as it is transferred between instances of NiFi.
+	
+- *Input Ports*: This section shows three different pieces of information:
+	** image:iconInputPortSmall.png["Input Ports"]
+		*Input Ports*: The number of Input Ports that are available to send data to on the remote instance of NiFi.
+			If the remote instance is secure, only the ports to which this instance of NiFi has been granted access
+			will be counted.
+			
+	** image:iconTransmissionActive.png["Transmitting"]
+		*Transmitting Ports*: The number of Input Ports to which this NiFi is connected and currently configured to
+			send data to. Ports can be turned on and off by enabling and disabling transmission on the Remote Process
+			Group (see <<Remote_Group_Transmission>>) or via the <<Remote_Port_Configuration>> dialog.
+	
+	** image:iconTransmissionInactive.png["Not Transmitting"]
+		*Non-Transmitting Ports*: The number of Input Ports to which this NiFi is connected but is not currently configured
+			to send data to. Ports can be turned on and off by enabling and disabling transmission on the Remote Process
+			Group (see <<Remote_Group_Transmission>>) or via the <<Remote_Port_Configuration>> dialog.
+
+- *Output Ports*: Similar to the ``Input Ports'' section above, this element shows three different pieces of information:
+	** image:iconOutputPortSmall.png["Output Ports"]
+		*Output Ports*: The number of Output Ports that are available to pull data from the remote instance of NiFi.
+			If the remote instance is secure, only the ports to which this instance of NiFi has been granted access
+			will be counted.
+			
+	** image:iconTransmissionActive.png["Transmitting"]
+		*Transmitting Ports*: The number of Output Ports from whcih this NiFi is connected and currently configured
+			to pull data from. Ports can be turned on and off by enabling and disabling transmission on the Remote Process
+			Group (see <<Remote_Group_Transmission>>) or via the <<Remote_Port_Configuration>> dialog.
+			
+	** image:iconTransmissionInactive.png["Not Transmitting"]
+		*Non-Transmitting Ports*: The number of Output Ports to which this NiFi is connected but is not currently configured
+			to pull data from. Ports can be turned on and off by enabling and disabling transmission on the Remote Process
+			Group (see <<Remote_Group_Transmission>>) or via the <<Remote_Port_Configuration>> dialog.
+			
+- *5-Minute Statistics*: Two statistics are shown for Remote Process Groups: *Sent* and *Received*. Both of these are
+	in the format <count> / <size> where <count> is the number of FlowFiles that have been sent or received in the previous
+	five minutes and <size> is the total size of those FlowFiles' content. 
+
+- *Comments*: The Comments that are provided for a Remote Process Group are not comments added by the users of this NiFi but
+	rather the Comments added by the administrators of the remote instance. These comments indicate the purpose of the NiFi
+	instance as a whole.
+
+- *Last Refreshed Time*: The information that is pulled from a remote instance and rendered on the Remote Process Group
+	in the User Interface is periodically refreshed in the background. This element indicates the time at which that refresh
+	last happened, or if the information has not been refreshed for a significant amount of time the value will change to
+	indicate _Remote flow not current_. NiFi can be triggered to initiate a refresh of this information by right-clicking
+	on the Remote Process Group and choosing the ``Refresh flow'' menu item.
+
+
+
+
+[[Summary_Page]]
 === Summary Page
 
+While the NiFi canvas is useful for understanding how the configured DataFlow is laid out, this view is not always optimal
+when trying to discern the status of the system. In order to help the user understand how the DataFlow is functioning
+at a higher level, NiFi provides a Summary page. This page is available in the Management Toolbar in the top-right corner
+of the User Interface. See the <<User_Interface>> section for more information about the location of this toolbar.
+
+The Summary Page is opened by clicking the Summary icon (
+image:iconSummary.png["Summary"]
+) from the Management Toolbar. This opens the Summary table dialog:
+
+image::summary-table.png["Summary Table"]
 
+This dialog provides a great deal of information about each of the components on the graph. Below, we have annotated
+the different elements within the dialog in order to make the discussion of the dialog easier.
+
+image::summary-annotated.png["Summary Table Annotated"]
+
+The Summary page consists mostly of a table that provides information about each of the components on the canvas. Above this
+table is a set of five tabs that can be used to view the different types of components. The information provided in the table
+is the same information that is provided for each component on the canvas. For more information, see the sections
+<<processor_anatomy>>, <<process_group_anatomy>>, and <<remote_group_anatomy>> above.
+
+The Summary page also includes the following elements:
+
+- *Bulletin Indicator*: As in other places throughout the application, when this icon is present, hovering over the icon will
+	provide information about the Bulletin that was generated, including the message, the severity level, the time at which
+	the Bulletin was generated, and (in a clustered environment) the node that generated the Bulletin.
+	
+- *Details*: Clicking the Details icon will provide the user with the details of the component. This dialog is the same as the
+	dialog provided when the user right-clicks on the component and chooses the ``View configuration'' menu item.
+	
+- *Go To*: Clicking this button will close the Summary page and take the user directly to the component on the NiFi canvas. This
+	may change the Process Group that the user is currently in. This icon is not available if the Summary page has been opened
+	in a new browser tab or window (by clicking the ``Pop Out'' button, as described below).
+	
+- *Stats History*: Clicking the Stats History icon will open a new dialog that shows a historical view of the statistics that
+	are rendered for this component. See the section <<Stats_History>> for more information.
+
+- *Refresh*: The Refresh button allows the user to refresh the information displayed without closing the dialog and opening it
+	again. The time at which the information was last refreshed is shown just to the right of the Refresh button. The information
+	on the page is not automatically refreshed.
+	
+- *Filter*: The Filter element allows users to filter the contents of the Summary table by typing in all or part of some criteria,
+	such as a Processor Type or Processor Name. The types of filters available differ according to the selected tab. For instance,
+	if viewing the Processor tab, the user is able to filter by name or by type. When changing to the Connections tab, the user
+	is able to filter by source name, destination name, or Connection name. The filter is automatically applied when the contents
+	of the text box are changed. Below the text box is an indicator of how many entries in the table match the filter and how many
+	entries exist in the table.
+
+- *Pop-Out*: When monitoring a flow, it is helpful to be able to open the Summary table in a separate browser tab or window. The
+	Pop-Out button, next to the Close button, will cause the entire Summary dialog to be opened in a new browser tab or window
+	(depending on the configuration of the browser). Once the page is ``popped out'', the dialog is closed in the original
+	browser tab/window. In the new tab/window, the Pop-Out button and the Go-To button will no longer be available.
+
+- *System Diagnostics*: The System Diagnostics tab provides information about how the system is performing with respect to
+	system resource utilization. While this is intended mostly for administrators, it is provided in this view because it
+	does provide a summary of the system. This dialog shows information such as CPU utilization, how full the disks are,
+	and Java-specific metrics, such as memory size and utilization, as well as Garbage Collection information.
+	
+
+
+
+<<Stats_History>
 === Historical Statics of a Component
 
+While the Summary table and the canvas show numeric statistics pertaining to the performance of a component over the
+past five minutes, it is often useful to have a view of historical statistics as well. This information is available
+by right-clicking on a component and choosing the ``Stats'' menu option or from the Summary page (see <<Summary_Page>>
+for more information).
+
+The amount of historical information that is stored is configurable in the NiFi properties but defaults to 24 hours.
+When the Stats dialog is opened, it provides a graph of historical statistics:
+
+image::process-history.png["Status History"]
+
+The left-hand side of the dialog provides information about the component that the stats are for, as well as a textual
+representation of the statistics being graphed. The following information is provided on the left-hand side:
+
+- *Id*: The ID of the component for which the stats are being shown.
+
+- *Group Id*: The ID of the Process Group in which the component resides.
+
+- *Name*: The Name of the Component for which the stats are being shown.
+
+- *Component-Specific Entries*: Information is shown for each different type of component. For example, for a Processor,
+	the type of Processor is displayed. For a Connection, the source and destination names and IDs are shown.
+
+- *Start*: The earliest time shown on the graph.
+
+- *End*: The latest time shown on the graph.
+
+- *Min/Max/Mean*: The minimum, maximum, and mean (arithmetic mean, or average) values are shown. These values are based
+	only on the range of time selected, if any time range is selected. If this instance of NiFi is clustered, these values
+	are shown for the cluster as a whole, as well as each individual node. In a clustered environment, each node is shown
+	in a different color. This also serves as the graph's legend, showing the color of each node that is shown in the graph.
+	Hovering over the Cluster or one of the nodes in the legend will also make the corresponding node bold in the graph.
+	
+
+The right-hand side of the dialog provides a drop-down list to choose which metric to render, as well as two graphs.
+The top graph is larger so as to provide an easier-to-read rendering of the information. In the bottom-right corner of
+this graph is a small handle (
+image:iconResize.png["Resize"]
+) that can be dragged to resize the graph. The blank area of the dialog above this graph can also be dragged around
+to move the entire dialog.
+
+The bottom graph is much shorter and provides the ability to select a time range. Selecting a time range here will 
+cause the top graph to redraw the graph, showing only the time range selected. Additionally, this will cause the 
+Min/Max/Mean values on the left-hand side to be recalculated. Once a selection has been created by dragging a 
+rectangle over the graph, double-clicking on the selected portion will cause the selection to fully expand in the 
+vertical direction. I.e., it will select all values in this time range. Clicking on the bottom graph without dragging 
+will remove the selection.
 
 
 


[2/4] incubator-nifi git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

Posted by ma...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/c69e4dbe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/c69e4dbe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/c69e4dbe

Branch: refs/heads/develop
Commit: c69e4dbec620ff776b42feb25a83a73107a74e41
Parents: a2fd263 b6f2dd2
Author: Mark Payne <ma...@hotmail.com>
Authored: Sun Dec 28 13:33:03 2014 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Sun Dec 28 13:33:03 2014 -0500

----------------------------------------------------------------------
 LICENSE                                         | 384 +++++++++
 NOTICE                                          |   7 +
 README.md                                       |  32 +-
 assembly/pom.xml                                | 199 ++---
 assembly/src/main/assembly/dependencies.xml     |  34 +-
 commons/core-flowfile-attributes/pom.xml        |  29 -
 .../flowfile/attributes/CoreAttributes.java     |  72 --
 .../attributes/FlowFileAttributeKey.java        |  21 -
 commons/data-provenance-utils/pom.xml           |   2 +-
 commons/naive-search-ring-buffer/pom.xml        |  30 -
 .../apache/nifi/util/NaiveSearchRingBuffer.java | 135 ----
 .../nifi/util/TestNaiveSearchRingBuffer.java    |  72 --
 commons/nifi-file-utils/pom.xml                 |  35 -
 .../java/org/apache/nifi/file/FileUtils.java    | 612 ---------------
 .../org/apache/nifi/util/NiFiProperties.java    |  14 +-
 commons/nifi-stream-utils/.gitignore            |   1 -
 commons/nifi-stream-utils/pom.xml               |  30 -
 .../org/apache/nifi/io/BufferedInputStream.java |  37 -
 .../apache/nifi/io/BufferedOutputStream.java    | 140 ----
 .../apache/nifi/io/ByteArrayInputStream.java    | 250 ------
 .../apache/nifi/io/ByteArrayOutputStream.java   | 250 ------
 .../apache/nifi/io/ByteCountingInputStream.java | 104 ---
 .../nifi/io/ByteCountingOutputStream.java       |  63 --
 .../org/apache/nifi/io/DataOutputStream.java    | 417 ----------
 .../org/apache/nifi/io/GZIPOutputStream.java    |  41 -
 .../nifi/io/LeakyBucketStreamThrottler.java     | 324 --------
 .../apache/nifi/io/NonCloseableInputStream.java |  56 --
 .../nifi/io/NonCloseableOutputStream.java       |  51 --
 .../org/apache/nifi/io/NullOutputStream.java    |  46 --
 .../org/apache/nifi/io/StreamThrottler.java     |  33 -
 .../java/org/apache/nifi/io/StreamUtils.java    | 257 ------
 .../org/apache/nifi/io/ZipOutputStream.java     |  38 -
 .../exception/BytePatternNotFoundException.java |  28 -
 .../io/util/NonThreadSafeCircularBuffer.java    |  69 --
 .../nifi/io/TestLeakyBucketThrottler.java       | 144 ----
 .../src/test/resources/logback-test.xml         |  48 --
 commons/nifi-utils/pom.xml                      |   4 +
 .../flowfile/attributes/CoreAttributes.java     |  72 ++
 .../attributes/FlowFileAttributeKey.java        |  21 +
 .../apache/nifi/io/CompoundUpdateMonitor.java   | 115 ---
 .../org/apache/nifi/io/LastModifiedMonitor.java |  30 -
 .../java/org/apache/nifi/io/MD5SumMonitor.java  |  49 --
 .../apache/nifi/io/SynchronousFileWatcher.java  | 123 ---
 .../java/org/apache/nifi/io/UpdateMonitor.java  |  25 -
 .../nifi/remote/StandardVersionNegotiator.java  |  81 ++
 .../apache/nifi/remote/VersionNegotiator.java   |  65 ++
 .../TransmissionDisabledException.java          |  25 +
 .../nifi/remote/io/CompressionInputStream.java  | 184 +++++
 .../nifi/remote/io/CompressionOutputStream.java | 147 ++++
 .../remote/io/InterruptableInputStream.java     | 117 +++
 .../remote/io/InterruptableOutputStream.java    |  81 ++
 .../remote/io/socket/BufferStateManager.java    | 111 +++
 .../io/socket/SocketChannelInputStream.java     | 157 ++++
 .../io/socket/SocketChannelOutputStream.java    | 113 +++
 .../remote/io/socket/ssl/SSLSocketChannel.java  | 602 ++++++++++++++
 .../socket/ssl/SSLSocketChannelInputStream.java |  62 ++
 .../ssl/SSLSocketChannelOutputStream.java       |  53 ++
 .../nifi/stream/io/BufferedInputStream.java     |  37 +
 .../nifi/stream/io/BufferedOutputStream.java    | 140 ++++
 .../nifi/stream/io/ByteArrayInputStream.java    | 250 ++++++
 .../nifi/stream/io/ByteArrayOutputStream.java   | 250 ++++++
 .../nifi/stream/io/ByteCountingInputStream.java | 104 +++
 .../stream/io/ByteCountingOutputStream.java     |  63 ++
 .../apache/nifi/stream/io/DataOutputStream.java | 417 ++++++++++
 .../apache/nifi/stream/io/GZIPOutputStream.java |  41 +
 .../stream/io/LeakyBucketStreamThrottler.java   | 324 ++++++++
 .../nifi/stream/io/NonCloseableInputStream.java |  56 ++
 .../stream/io/NonCloseableOutputStream.java     |  51 ++
 .../apache/nifi/stream/io/NullOutputStream.java |  46 ++
 .../apache/nifi/stream/io/StreamThrottler.java  |  33 +
 .../org/apache/nifi/stream/io/StreamUtils.java  | 257 ++++++
 .../apache/nifi/stream/io/ZipOutputStream.java  |  38 +
 .../exception/BytePatternNotFoundException.java |  28 +
 .../io/util/NonThreadSafeCircularBuffer.java    |  69 ++
 .../apache/nifi/util/NaiveSearchRingBuffer.java | 135 ++++
 .../org/apache/nifi/util/file/FileUtils.java    | 623 +++++++++++++++
 .../file/monitor/CompoundUpdateMonitor.java     | 115 +++
 .../util/file/monitor/LastModifiedMonitor.java  |  30 +
 .../nifi/util/file/monitor/MD5SumMonitor.java   |  51 ++
 .../file/monitor/SynchronousFileWatcher.java    | 123 +++
 .../nifi/util/file/monitor/UpdateMonitor.java   |  25 +
 .../org/apache/nifi/util/search/Search.java     |  57 ++
 .../org/apache/nifi/util/search/SearchTerm.java | 141 ++++
 .../util/search/ahocorasick/AhoCorasick.java    | 155 ++++
 .../nifi/util/search/ahocorasick/Node.java      |  72 ++
 .../util/search/ahocorasick/SearchState.java    |  63 ++
 .../io/TestCompressionInputOutputStreams.java   | 153 ++++
 .../stream/io/TestLeakyBucketThrottler.java     | 147 ++++
 .../nifi/util/TestNaiveSearchRingBuffer.java    |  72 ++
 .../file/monitor/TestCompoundUpdateMonitor.java |  71 ++
 .../monitor/TestSynchronousFileWatcher.java     |  61 ++
 .../timebuffer/TestCompoundUpdateMonitor.java   |  75 --
 .../timebuffer/TestSynchronousFileWatcher.java  |  64 --
 .../src/test/resources/logback-test.xml         |  32 +
 commons/pom.xml                                 |   6 -
 commons/remote-communications-utils/pom.xml     |  29 -
 .../nifi/remote/StandardVersionNegotiator.java  |  81 --
 .../apache/nifi/remote/VersionNegotiator.java   |  65 --
 .../TransmissionDisabledException.java          |  25 -
 .../nifi/remote/io/CompressionInputStream.java  | 184 -----
 .../nifi/remote/io/CompressionOutputStream.java | 147 ----
 .../remote/io/InterruptableInputStream.java     | 117 ---
 .../remote/io/InterruptableOutputStream.java    |  81 --
 .../remote/io/socket/BufferStateManager.java    | 111 ---
 .../io/socket/SocketChannelInputStream.java     | 157 ----
 .../io/socket/SocketChannelOutputStream.java    | 113 ---
 .../remote/io/socket/ssl/SSLSocketChannel.java  | 602 --------------
 .../socket/ssl/SSLSocketChannelInputStream.java |  62 --
 .../ssl/SSLSocketChannelOutputStream.java       |  53 --
 .../io/TestCompressionInputOutputStreams.java   | 153 ----
 commons/search-utils/pom.xml                    |  30 -
 .../org/apache/nifi/util/search/Search.java     |  57 --
 .../org/apache/nifi/util/search/SearchTerm.java | 141 ----
 .../util/search/ahocorasick/AhoCorasick.java    | 155 ----
 .../nifi/util/search/ahocorasick/Node.java      |  72 --
 .../util/search/ahocorasick/SearchState.java    |  63 --
 commons/wali/pom.xml                            |   2 +-
 .../org/wali/MinimalLockingWriteAheadLog.java   |   4 +-
 .../apache/nifi/admin/service/UserService.java  |  13 +
 .../service/action/AuthorizeDownloadAction.java |  54 ++
 .../admin/service/impl/StandardUserService.java |  36 +-
 .../AuthorityProviderFactoryBean.java           |  13 +
 .../java/org/apache/nifi/user/NiFiUser.java     |  10 +
 .../impl/NiFiAuthorizationServiceTest.java      | 284 -------
 .../framework/client-dto/pom.xml                |   3 +-
 .../NodeAuthorizationProvider.java              |   8 +
 .../framework-bundle/framework/cluster/pom.xml  |   2 +-
 .../impl/FileBasedClusterNodeFirewall.java      |   2 +-
 .../nifi/cluster/flow/impl/DataFlowDaoImpl.java |  10 +-
 .../impl/FileBasedClusterNodeFirewallTest.java  |   3 +-
 .../impl/DataFlowManagementServiceImplTest.java |   6 +-
 .../framework-bundle/framework/core-api/pom.xml |   6 +-
 .../framework-bundle/framework/core/pom.xml     |   8 -
 .../nifi/controller/FileSystemSwapManager.java  |   2 +-
 .../apache/nifi/controller/FlowController.java  |   9 +-
 .../nifi/controller/FlowUnmarshaller.java       |   2 +-
 .../apache/nifi/controller/SnippetManager.java  |   8 +-
 .../nifi/controller/StandardFlowService.java    |   2 +-
 .../controller/StandardFlowSynchronizer.java    |   2 +-
 .../apache/nifi/controller/TemplateManager.java |   8 +-
 .../repository/FileSystemRepository.java        |   4 +-
 .../repository/StandardProcessSession.java      |   6 +-
 .../repository/VolatileContentRepository.java   |   4 +-
 .../service/ControllerServiceLoader.java        |   2 +-
 .../StandardXMLFlowConfigurationDAO.java        |   2 +-
 .../nifi/remote/StandardRemoteProcessGroup.java |   2 +-
 .../TestWriteAheadFlowFileRepository.java       |   2 +-
 .../repository/io/TestLimitedOutputStream.java  |   3 +-
 .../file-authorization-provider/pom.xml         |   4 +-
 .../FileAuthorizationProvider.java              |  18 +-
 .../FileAuthorizationProviderTest.java          |   2 +-
 .../resources/src/main/resources/DISCLAIMER     |  15 -
 .../resources/src/main/resources/LICENSE        | 202 -----
 .../resources/src/main/resources/NOTICE         |   7 -
 .../src/main/resources/bin/nifi-status.bat      |   7 +-
 .../src/main/resources/bin/run-nifi.bat         |   7 +-
 .../src/main/resources/bin/start-nifi.bat       |   8 +-
 .../src/main/resources/bin/stop-nifi.bat        |   7 +-
 .../src/main/resources/conf/bootstrap.conf      |   8 +-
 .../resources/src/main/resources/docs/README.md |  65 --
 .../framework/site-to-site/pom.xml              |  12 -
 .../remote/codec/StandardFlowFileCodec.java     |   2 +-
 .../remote/io/socket/SocketChannelInput.java    |   4 +-
 .../remote/io/socket/SocketChannelOutput.java   |   4 +-
 .../io/socket/ssl/SSLSocketChannelInput.java    |   4 +-
 .../io/socket/ssl/SSLSocketChannelOutput.java   |   4 +-
 .../org/apache/nifi/web/server/JettyServer.java |  20 +-
 .../framework/web/nifi-web-api/pom.xml          |   6 +-
 .../nifi-web-api/src/main/enunciate/default.css | 266 -------
 .../src/main/enunciate/enunciate.xml            |   4 +-
 .../src/main/enunciate/images/bgcode.gif        | Bin 56 -> 0 bytes
 .../src/main/enunciate/images/bgcontainer.png   | Bin 386 -> 0 bytes
 .../src/main/enunciate/images/bgul.gif          | Bin 304 -> 0 bytes
 .../src/main/enunciate/images/header.png        | Bin 51928 -> 0 bytes
 .../src/main/enunciate/images/home.png          | Bin 0 -> 144 bytes
 .../src/main/enunciate/images/li.png            | Bin 191 -> 0 bytes
 .../src/main/enunciate/images/quote.gif         | Bin 228 -> 0 bytes
 .../src/main/enunciate/images/search.gif        | Bin 680 -> 0 bytes
 .../src/main/enunciate/override.css             | 178 +++++
 .../apache/nifi/web/api/ProvenanceResource.java |  12 +-
 .../nifi/web/controller/ControllerFacade.java   |  30 +
 .../nifi/web/util/ClientResponseUtils.java      |   2 +-
 .../src/main/resources/nifi-web-api-context.xml |   1 +
 .../src/main/webapp/WEB-INF/web.xml             |  14 +-
 .../util/NiFiTestAuthorizationProvider.java     |   7 +
 .../main/webapp/WEB-INF/jsp/documentation.jsp   |  22 +-
 .../WEB-INF/jsp/no-documentation-found.jsp      |  10 +-
 .../src/main/webapp/css/component-usage.css     |  92 ++-
 .../nifi-web-docs/src/main/webapp/css/main.css  |  29 +-
 .../src/main/webapp/js/application.js           |  18 +-
 .../nifi-web-error/src/main/webapp/index.jsp    |   1 +
 .../framework/web/nifi-web-ui/pom.xml           |   2 +-
 .../nifi-web-ui/src/main/webapp/css/cluster.css |   4 +
 .../webapp/js/nf/canvas/nf-canvas-toolbox.js    |  16 +-
 .../webapp/js/nf/cluster/nf-cluster-table.js    |  35 +-
 .../src/main/webapp/js/nf/nf-common.js          |   2 +-
 .../js/nf/provenance/nf-provenance-table.js     | 107 ++-
 .../js/nf/templates/nf-templates-table.js       |   2 +-
 .../authorization/NiFiAuthorizationService.java |  35 +-
 .../NiFiAuthorizationServiceTest.java           | 250 ++++++
 .../hadoop-bundle/hdfs-processors/pom.xml       |   6 +-
 ...lowFileStreamUnpackerSequenceFileWriter.java |   2 +-
 .../apache/nifi/processors/hadoop/PutHDFS.java  |   4 +-
 .../hadoop/SequenceFileWriterImpl.java          |   2 +-
 .../hadoop/TarUnpackerSequenceFileWriter.java   |   2 +-
 .../hadoop/ZipUnpackerSequenceFileWriter.java   |   2 +-
 .../hadoop/util/OutputStreamWritable.java       |   4 +-
 .../monitor-threshold-bundle/processor/pom.xml  |   8 -
 .../processors/monitor/MonitorThreshold.java    |   2 +-
 nar-bundles/monitor-threshold-bundle/ui/pom.xml |   2 +-
 .../persistent-provenance-repository/pom.xml    |   8 -
 .../nifi/provenance/StandardRecordReader.java   |   4 +-
 .../nifi/provenance/StandardRecordWriter.java   |   6 +-
 .../provenance/rollover/CompressionAction.java  |   4 +-
 .../provenance/serialization/RecordReaders.java |   2 +-
 nar-bundles/pom.xml                             |   8 +-
 .../standard-bundle/jms-processors/pom.xml      |   6 +-
 .../apache/nifi/processors/jms/JmsConsumer.java |   2 +-
 .../org/apache/nifi/processors/jms/PutJMS.java  |   2 +-
 .../nifi/processors/jms/util/JmsFactory.java    |  30 +-
 .../nifi/processors/jms/util/JmsProperties.java |   3 +-
 .../index.html                                  |   1 -
 .../index.html                                  |   1 -
 .../index.html                                  |   1 -
 .../standard-bundle/standard-processors/pom.xml |  14 +-
 .../processors/standard/CompressContent.java    |   6 +-
 .../processors/standard/EncryptContent.java     |   2 +-
 .../standard/EvaluateRegularExpression.java     |   2 +-
 .../nifi/processors/standard/EvaluateXPath.java |   4 +-
 .../processors/standard/EvaluateXQuery.java     |   4 +-
 .../standard/ExecuteStreamCommand.java          |   6 +-
 .../nifi/processors/standard/HashContent.java   |   4 +-
 .../nifi/processors/standard/ListenHTTP.java    |   4 +-
 .../nifi/processors/standard/MergeContent.java  |   8 +-
 .../nifi/processors/standard/ModifyBytes.java   |   2 +-
 .../nifi/processors/standard/PostHTTP.java      |  12 +-
 .../processors/standard/PutFileTransfer.java    |   2 +-
 .../nifi/processors/standard/ReplaceText.java   |   2 +-
 .../standard/ReplaceTextWithMapping.java        |   2 +-
 .../processors/standard/RouteOnContent.java     |   2 +-
 .../nifi/processors/standard/ScanAttribute.java |   4 +-
 .../nifi/processors/standard/ScanContent.java   |   6 +-
 .../nifi/processors/standard/SplitContent.java  |   2 +-
 .../nifi/processors/standard/SplitText.java     |   8 +-
 .../nifi/processors/standard/SplitXml.java      |   2 +-
 .../nifi/processors/standard/TransformXml.java  |   2 +-
 .../nifi/processors/standard/UnpackContent.java |   6 +-
 .../standard/servlets/ListenHTTPServlet.java    |   4 +-
 .../standard/util/UDPStreamConsumer.java        |   2 +-
 .../processors/standard/TestMergeContent.java   |   3 +-
 .../processors/standard/TestScanContent.java    |   4 +-
 .../distributed-cache-client-service/pom.xml    |   6 +-
 .../DistributedMapCacheClientService.java       |   4 +-
 .../DistributedSetCacheClientService.java       |   4 +-
 .../cache/client/SSLCommsSession.java           |   4 +-
 .../cache/client/StandardCommsSession.java      |   4 +-
 .../distributed-cache-protocol/pom.xml          |   2 +-
 .../distributed-cache-server/pom.xml            |   6 +-
 .../cache/server/AbstractCacheServer.java       |   4 +-
 .../cache/server/SetCacheServer.java            |   2 +-
 .../cache/server/map/MapCacheServer.java        |   2 +-
 .../update-attribute-bundle/processor/pom.xml   |   2 +-
 nar-maven-plugin/pom.xml                        |  33 +-
 .../nifi/authorization/AuthorityProvider.java   |  19 +
 .../authorization/DownloadAuthorization.java    |  86 ++
 nifi-docs/pom.xml                               |  82 +-
 .../src/main/asciidoc/administration-guide.adoc |  34 +
 .../src/main/asciidoc/developer-guide.adoc      |  43 +
 .../src/main/asciidoc/nifi-user-guide.adoc      | 782 -------------------
 nifi-docs/src/main/asciidoc/overview.adoc       |  31 +
 nifi-docs/src/main/asciidoc/user-guide.adoc     | 778 ++++++++++++++++++
 nifi-docs/src/main/assembly/dependencies.xml    |  28 +
 nifi-mock/pom.xml                               |   4 -
 pom.xml                                         | 131 ++--
 274 files changed, 9017 insertions(+), 8687 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c69e4dbe/nar-bundles/framework-bundle/framework/core/src/main/java/org/apache/nifi/remote/StandardRemoteProcessGroup.java
----------------------------------------------------------------------


[3/4] incubator-nifi git commit: Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop

Posted by ma...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/incubator-nifi into develop


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/40890c9a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/40890c9a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/40890c9a

Branch: refs/heads/develop
Commit: 40890c9aeca86d3bed5a29d7387bc16c83f2c413
Parents: c69e4db 87b0738
Author: Mark Payne <ma...@hotmail.com>
Authored: Mon Dec 29 11:02:36 2014 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Mon Dec 29 11:02:36 2014 -0500

----------------------------------------------------------------------
 .../src/main/asciidoc/administration-guide.adoc |   2 +
 .../src/main/asciidoc/developer-guide.adoc      |   2 +
 nifi-docs/src/main/asciidoc/overview.adoc       | 122 +++++++++++++++++--
 nifi-docs/src/main/asciidoc/user-guide.adoc     |   2 +
 pom.xml                                         |   5 +-
 5 files changed, 120 insertions(+), 13 deletions(-)
----------------------------------------------------------------------