manifoldcf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kwri...@apache.org
Subject svn commit: r1695809 - in /manifoldcf/branches/dev_1x: ./ framework/ framework/core/src/main/java/org/apache/manifoldcf/core/database/ framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/
Date Fri, 14 Aug 2015 01:04:29 GMT
Author: kwright
Date: Fri Aug 14 01:04:28 2015
New Revision: 1695809

URL: http://svn.apache.org/r1695809
Log:
Pull up fix for CONNECTORS-1226 from trunk.

Modified:
    manifoldcf/branches/dev_1x/   (props changed)
    manifoldcf/branches/dev_1x/CHANGES.txt
    manifoldcf/branches/dev_1x/framework/   (props changed)
    manifoldcf/branches/dev_1x/framework/build.xml
    manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/ConnectionFactory.java
    manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfacePostgreSQL.java
    manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java
    manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPool.java
    manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPoolManager.java

Propchange: manifoldcf/branches/dev_1x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Aug 14 01:04:28 2015
@@ -125,4 +125,4 @@
 /manifoldcf/branches/CONNECTORS-981:1605049-1605773
 /manifoldcf/branches/CONNECTORS-989:1611600-1612101
 /manifoldcf/branches/CONNECTORS-990:1610284-1610707
-/manifoldcf/trunk:1620703,1620748,1620812,1620862,1621449,1621613,1621855,1622213,1622740,1622850,1622853-1622854,1623249,1623251,1623314,1623599,1623951,1623953-1623954,1623956,1623972,1624058,1624085,1624174,1624236,1624377,1624384,1624399,1624449,1624464,1624504,1624729-1624731,1624906,1624909-1624910,1624982,1625023,1625095,1625103,1625108,1625264,1625270,1625394,1625400,1625910,1626090,1626097,1626102,1626638-1626639,1626973,1627687,1627690,1627959,1628046,1628066,1628106,1628168,1628188,1628699,1628798,1628808,1628845,1628905,1629122,1629374-1629375,1629379,1629541,1629994,1630188,1630535,1630623,1630671,1630812,1630885,1631039,1631162,1631164,1631252,1631750,1631953,1632013,1632225,1632289,1632562,1632844,1632847,1632854,1633062-1633063,1633108,1633193,1633202,1633282,1633284,1633295,1633336,1633339,1633345,1633348,1633364,1633378,1633383,1633432,1633546,1633590,1633634,1633668,1633727,1633760,1633764,1633786,1633910,1633923,1634021,1634028,1634067,1634132,1634145,1634148,163
 4155,1634188,1634202,1634264,1634373,1634530,1634688,1634850,1634857,1635103,1635116,1635421,1635438,1635478,1635481,1635484,1635490,1635809,1635939,1636146,1636167,1636180,1636207,1636215,1636232,1636334,1636519,1636570,1636684,1636940,1637011,1637310,1637350,1637364,1637373,1637378,1639259,1639593,1639600,1640018,1640101,1640199,1640204,1640208,1640314,1640319,1640749,1640772,1640805,1640888,1640925,1640941-1640942,1641222,1641328,1641557,1641559,1641629,1641633,1641724,1641754,1641911,1642163,1642255,1642318,1642531,1642650,1642658,1642673,1642716,1644197,1644399,1644538,1644920,1644931,1646317,1646397,1646403,1646408,1646640,1646947,1647574,1647585,1647608,1648686,1648976,1649201,1649203,1649529,1649605,1649628,1649794,1650351,1650722,1650741-1650742,1650745,1650747,1650911,1650954,1651332,1651539,1651907,1651921,1652071,1652974,1653175,1653899,1654651,1655205,1655261,1655264,1655377,1655411,1655618,1655914,1657346,1657443,1658004,1658036,1658121,1658155,1658188,1658463,1658476,
 1660258,1660276,1661454,1665848,1666160,1666781,1666820,1668312,1669100,1669238,1669487,1669523,1669586,1669660,1670614,1670625,1670715,1671496,1672169,1672301,1672616,1672737,1673559,1673573,1673579,1673722,1675781,1675898,1676094,1676882,1676910,1678300,1678329,1678471,1678551,1679730,1679826,1681390,1681735,1682232,1682252,1682410,1682602,1682622,1682719,1683208,1683506,1683529,1683768,1684015,1684017,1684153,1684156,1684712,1684866,1685547,1687097,1687303,1687768,1688070,1688348,1688432,1689608,1690665,1692679,1693653,1695675,1695696
+/manifoldcf/trunk:1620703,1620748,1620812,1620862,1621449,1621613,1621855,1622213,1622740,1622850,1622853-1622854,1623249,1623251,1623314,1623599,1623951,1623953-1623954,1623956,1623972,1624058,1624085,1624174,1624236,1624377,1624384,1624399,1624449,1624464,1624504,1624729-1624731,1624906,1624909-1624910,1624982,1625023,1625095,1625103,1625108,1625264,1625270,1625394,1625400,1625910,1626090,1626097,1626102,1626638-1626639,1626973,1627687,1627690,1627959,1628046,1628066,1628106,1628168,1628188,1628699,1628798,1628808,1628845,1628905,1629122,1629374-1629375,1629379,1629541,1629994,1630188,1630535,1630623,1630671,1630812,1630885,1631039,1631162,1631164,1631252,1631750,1631953,1632013,1632225,1632289,1632562,1632844,1632847,1632854,1633062-1633063,1633108,1633193,1633202,1633282,1633284,1633295,1633336,1633339,1633345,1633348,1633364,1633378,1633383,1633432,1633546,1633590,1633634,1633668,1633727,1633760,1633764,1633786,1633910,1633923,1634021,1634028,1634067,1634132,1634145,1634148,163
 4155,1634188,1634202,1634264,1634373,1634530,1634688,1634850,1634857,1635103,1635116,1635421,1635438,1635478,1635481,1635484,1635490,1635809,1635939,1636146,1636167,1636180,1636207,1636215,1636232,1636334,1636519,1636570,1636684,1636940,1637011,1637310,1637350,1637364,1637373,1637378,1639259,1639593,1639600,1640018,1640101,1640199,1640204,1640208,1640314,1640319,1640749,1640772,1640805,1640888,1640925,1640941-1640942,1641222,1641328,1641557,1641559,1641629,1641633,1641724,1641754,1641911,1642163,1642255,1642318,1642531,1642650,1642658,1642673,1642716,1644197,1644399,1644538,1644920,1644931,1646317,1646397,1646403,1646408,1646640,1646947,1647574,1647585,1647608,1648686,1648976,1649201,1649203,1649529,1649605,1649628,1649794,1650351,1650722,1650741-1650742,1650745,1650747,1650911,1650954,1651332,1651539,1651907,1651921,1652071,1652974,1653175,1653899,1654651,1655205,1655261,1655264,1655377,1655411,1655618,1655914,1657346,1657443,1658004,1658036,1658121,1658155,1658188,1658463,1658476,
 1660258,1660276,1661454,1665848,1666160,1666781,1666820,1668312,1669100,1669238,1669487,1669523,1669586,1669660,1670614,1670625,1670715,1671496,1672169,1672301,1672616,1672737,1673559,1673573,1673579,1673722,1675781,1675898,1676094,1676882,1676910,1678300,1678329,1678471,1678551,1679730,1679826,1681390,1681735,1682232,1682252,1682410,1682602,1682622,1682719,1683208,1683506,1683529,1683768,1684015,1684017,1684153,1684156,1684712,1684866,1685547,1687097,1687303,1687768,1688070,1688348,1688432,1689608,1690665,1692679,1693653,1695675,1695696,1695808

Modified: manifoldcf/branches/dev_1x/CHANGES.txt
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/CHANGES.txt?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/CHANGES.txt (original)
+++ manifoldcf/branches/dev_1x/CHANGES.txt Fri Aug 14 01:04:28 2015
@@ -3,6 +3,11 @@ $Id$
 
 ======================= 1.10-dev =====================
 
+CONNECTORS-1226: PostgreSQL does not implement the isValid()
+JDBC method in the driver we include, so make sure when we call it
+we don't fail if we get an exception.  Related to CONNECTORS-1202.
+(Karl Wright)
+
 CONNECTORS-1224: Upgrade to Hadoop 2.6.0.
 (Shinichiro Abe)
 

Propchange: manifoldcf/branches/dev_1x/framework/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Aug 14 01:04:28 2015
@@ -113,4 +113,4 @@
 /manifoldcf/branches/CONNECTORS-989/framework:1611600-1612101
 /manifoldcf/branches/CONNECTORS-990/framework:1610284-1610707
 /manifoldcf/trunk:1629122
-/manifoldcf/trunk/framework:1620703,1620748,1620812,1620862,1621449,1621613,1621855,1622213,1622740,1622850,1622853-1622854,1623249,1623251,1623314,1623599,1623951,1623953-1623954,1623956,1623972,1624058,1624085,1624174,1624236,1624377,1624384,1624399,1624449,1624464,1624504,1624729-1624731,1624906,1624909-1624910,1624982,1625023,1625095,1625103,1625108,1625264,1625270,1625394,1625400,1625910,1626090,1626097,1626102,1626638-1626639,1626973,1627687,1627690,1627959,1628046,1628066,1628106,1628168,1628188,1628699,1628798,1628808,1628845,1628905,1629122,1629374-1629375,1629379,1629541,1629994,1630188,1630535,1630623,1630671,1630812,1630885,1631039,1631162,1631164,1631252,1632013,1632289,1632844,1633108,1633193,1633202,1633348,1633364,1634145,1634148,1634155,1634264,1634373,1634530,1635438,1635809,1636146,1636180,1636207,1636232,1636334,1636519,1636570,1636684,1636940,1637011,1639593,1639600,1640018,1640101,1640199,1640314,1640319,1640749,1640772,1640925,1640941,1641222,1641557,1641559,1
 641724,1641911,1642163,1642255,1642318,1644197,1644399,1646317,1646397,1646403,1646640,1647574,1647585,1647608,1649605,1650351,1650911,1651332,1651539,1651921,1655377,1655411,1657346,1658004,1658036,1660258,1660276,1669487,1670614,1672616,1672737,1676094,1681390,1681735,1682232,1682252,1682410,1682719,1683208,1683506,1683768,1684712,1685547,1687097,1687303,1688432,1690665,1695675,1695696
+/manifoldcf/trunk/framework:1620703,1620748,1620812,1620862,1621449,1621613,1621855,1622213,1622740,1622850,1622853-1622854,1623249,1623251,1623314,1623599,1623951,1623953-1623954,1623956,1623972,1624058,1624085,1624174,1624236,1624377,1624384,1624399,1624449,1624464,1624504,1624729-1624731,1624906,1624909-1624910,1624982,1625023,1625095,1625103,1625108,1625264,1625270,1625394,1625400,1625910,1626090,1626097,1626102,1626638-1626639,1626973,1627687,1627690,1627959,1628046,1628066,1628106,1628168,1628188,1628699,1628798,1628808,1628845,1628905,1629122,1629374-1629375,1629379,1629541,1629994,1630188,1630535,1630623,1630671,1630812,1630885,1631039,1631162,1631164,1631252,1632013,1632289,1632844,1633108,1633193,1633202,1633348,1633364,1634145,1634148,1634155,1634264,1634373,1634530,1635438,1635809,1636146,1636180,1636207,1636232,1636334,1636519,1636570,1636684,1636940,1637011,1639593,1639600,1640018,1640101,1640199,1640314,1640319,1640749,1640772,1640925,1640941,1641222,1641557,1641559,1
 641724,1641911,1642163,1642255,1642318,1644197,1644399,1646317,1646397,1646403,1646640,1647574,1647585,1647608,1649605,1650351,1650911,1651332,1651539,1651921,1655377,1655411,1657346,1658004,1658036,1660258,1660276,1669487,1670614,1672616,1672737,1676094,1681390,1681735,1682232,1682252,1682410,1682719,1683208,1683506,1683768,1684712,1685547,1687097,1687303,1688432,1690665,1695675,1695696,1695808

Modified: manifoldcf/branches/dev_1x/framework/build.xml
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/framework/build.xml?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/framework/build.xml (original)
+++ manifoldcf/branches/dev_1x/framework/build.xml Fri Aug 14 01:04:28 2015
@@ -1883,6 +1883,7 @@
                 <pathelement location="build/ui-core/classes"/>
                 <pathelement location="build/agents/classes"/>
                 <pathelement location="build/pull-agent/classes"/>
+                <pathelement location="build/connector-common/classes"/>
                 <pathelement location="build/authority-servlet/classes"/>
                 <pathelement location="build/api-servlet/classes"/>
                 <pathelement location="build/core-tests/classes"/>
@@ -1906,6 +1907,7 @@
                 <pathelement location="build/ui-core/classes"/>
                 <pathelement location="build/agents/classes"/>
                 <pathelement location="build/pull-agent/classes"/>
+                <pathelement location="build/connector-common/classes"/>
                 <pathelement location="build/authority-servlet/classes"/>
                 <pathelement location="build/api-servlet/classes"/>
                 <pathelement location="build/core-tests/classes"/>
@@ -1929,6 +1931,7 @@
                 <pathelement location="build/ui-core/classes"/>
                 <pathelement location="build/agents/classes"/>
                 <pathelement location="build/pull-agent/classes"/>
+                <pathelement location="build/connector-common/classes"/>
                 <pathelement location="build/authority-servlet/classes"/>
                 <pathelement location="build/api-servlet/classes"/>
                 <pathelement location="build/core-tests/classes"/>
@@ -1952,6 +1955,7 @@
                 <pathelement location="build/ui-core/classes"/>
                 <pathelement location="build/agents/classes"/>
                 <pathelement location="build/pull-agent/classes"/>
+                <pathelement location="build/connector-common/classes"/>
                 <pathelement location="build/authority-servlet/classes"/>
                 <pathelement location="build/api-servlet/classes"/>
                 <pathelement location="build/core-tests/classes"/>

Modified: manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/ConnectionFactory.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/ConnectionFactory.java?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/ConnectionFactory.java
(original)
+++ manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/ConnectionFactory.java
Fri Aug 14 01:04:28 2015
@@ -102,6 +102,12 @@ public class ConnectionFactory
     c.release();
   }
 
+  public static void flush()
+  {
+    if (poolManager != null)
+      poolManager.flush();
+  }
+  
   public static void releaseAll()
   {
     if (poolManager != null)
@@ -191,7 +197,18 @@ public class ConnectionFactory
       
       thisPool.shutdown();
     }
-      
+    
+    public void flush()
+    {
+      synchronized (poolExistenceLock)
+      {
+        if (_pool != null)
+        {
+          _pool.flush();
+        }
+      }
+    }
+    
       /*
       // Cleanup strategy is to close everything that can easily be closed, but leave around
connections that are so busy that they will not close within a certain amount of
       // time.  To do that, we spin up a thread for each connection, which attempts to close
that connection, and then wait until either 15 seconds passes, or all the threads

Modified: manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfacePostgreSQL.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfacePostgreSQL.java?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfacePostgreSQL.java
(original)
+++ manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfacePostgreSQL.java
Fri Aug 14 01:04:28 2015
@@ -564,6 +564,8 @@ public class DBInterfacePostgreSQL exten
         null,null,null,true,-1,null,null);
       if (set.getRowCount() == 0)
       {
+        // Special for Postgresql
+        masterDatabase.prepareForDatabaseCreate();
 	masterDatabase.executeQuery("CREATE DATABASE "+databaseName+" OWNER "+
 	  userName+" ENCODING 'utf8'",null,null,invalidateKeys,null,false,0,null,null);
       }

Modified: manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java
(original)
+++ manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/database/Database.java
Fri Aug 14 01:04:28 2015
@@ -131,6 +131,19 @@ public abstract class Database
     return rawLabelName;
   }
   
+  /** Prepare database for database creation step.
+  * In order to do this, all connections to the back end must be closed.  Since we have a
pool, and a local
+  * connection, these all need to be cleaned up.
+  */
+  public void prepareForDatabaseCreate()
+    throws ManifoldCFException
+  {
+    if (connection != null) {
+      throw new ManifoldCFException("Can't do a database create within a transaction");
+    }
+    ConnectionFactory.flush();
+  }
+  
   /** Execute arbitrary database query, and optionally cache the result.  Cached results
are
   * returned for this operation if they are valid and appropriate.  Note that any cached
results
   * returned were only guaranteed to be pertinent at the time the cached result was obtained;
the

Modified: manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPool.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPool.java?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPool.java
(original)
+++ manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPool.java
Fri Aug 14 01:04:28 2015
@@ -83,7 +83,17 @@ public class ConnectionPool
             throw new InterruptedException("Pool already closed");
           rval = freeConnections[--freePointer];
           freeConnections[freePointer] = null;
-          if (!rval.isValid(1)) {
+          boolean isValid = true;
+          try
+          {
+            isValid = rval.isValid(1);
+          }
+          catch (SQLException e)
+          {
+            // Ignore this; we just can't check if handle is valid I guess.
+            // (Postgresql doesn't implement this method so it fails always)
+          }
+          if (!isValid) {
             // If the connection is invalid, drop it on the floor, and get a new one.
             activeConnections--;
             rval.close();
@@ -178,6 +188,27 @@ public class ConnectionPool
     }
   }
   
+  /** Flush the pool.
+  */
+  public synchronized void flushPool()
+  {
+    for (int i = 0 ; i < freePointer ; i++)
+    {
+      try
+      {
+        freeConnections[i].close();
+      }
+      catch (SQLException e)
+      {
+        Logging.db.warn("Error closing pooled connection: "+e.getMessage(),e);
+      }
+      freeConnections[i] = null;
+      activeConnections--;
+    }
+    freePointer = 0;
+    notifyAll();
+  }
+  
   /** Close down the pool.
   */
   public synchronized void closePool()
@@ -243,6 +274,8 @@ public class ConnectionPool
     {
       synchronized (outstandingConnections)
       {
+        if (!outstandingConnections.contains(connection))
+          Logging.db.warn("Released a connection that wasn't tracked!!");
         outstandingConnections.remove(connection);
       }
     }

Modified: manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPoolManager.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPoolManager.java?rev=1695809&r1=1695808&r2=1695809&view=diff
==============================================================================
--- manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPoolManager.java
(original)
+++ manifoldcf/branches/dev_1x/framework/core/src/main/java/org/apache/manifoldcf/core/jdbcpool/ConnectionPoolManager.java
Fri Aug 14 01:04:28 2015
@@ -66,6 +66,20 @@ public class ConnectionPoolManager
     return cp;
   }
   
+  public void flush()
+  {
+    synchronized (this)
+    {
+      Iterator<String> iter = poolMap.keySet().iterator();
+      while (iter.hasNext())
+      {
+        String poolKey = iter.next();
+        ConnectionPool cp = poolMap.get(poolKey);
+        cp.flushPool();
+      }
+    }
+  }
+  
   public void shutdown()
   {
     //System.out.println("JDBC POOL SHUTDOWN CALLED");



Mime
View raw message