In this particular example, my understanding is that the user uninstalled PI SDK 2014 and downgraded to PI SDK 2012. As a result, the what was running application that continuously writes data to PI Data Archive lost its connection and had to perform a re-connection. Unfortunately we have no control over user action that removes the underlying data access mechanism (in this case, uninstalling PI SDK) and we also do not know that this has occurred. We need to avoid "verify" a connection before trying to write the data as this is an additional overhead of a remote procedure call. Repeated RPC's for the sole purpose of verifying connection status negatively affects performance of the entire system. My recommendation is that the user who is removing the underlying data access mechanism should be aware that this may affect other applications and perform the necessary steps to avoid disrupting the data flow. As an example, user can first stop the application, perform the removal/installation of software, then restarting the application.