Author: lewismc
Date: Wed Apr 23 12:23:04 2014
New Revision: 5145
Log:
remove old release, add CHANGES.txt update KEYS
Added:
release/gora/0.4/CHANGES.txt
Removed:
release/gora/0.3/
Modified:
release/gora/KEYS
Added: release/gora/0.4/CHANGES.txt
==============================================================================
--- release/gora/0.4/CHANGES.txt (added)
+++ release/gora/0.4/CHANGES.txt Wed Apr 23 12:23:04 2014
@@ -0,0 +1,311 @@
+ =======================================================================
+ ==CHANGES.txt
+ =======================================================================
+
+Gora 0.4 release: (14/04/2014)
+Release Report: http://s.apache.org/4lx
+
+* GORA-201 Upgrade HBase to 0.94.13 (various)
+
+* GORA-292 Upgrade dependency to Accumulo 1.5 (Akber Choudhry via lewismc)
+
+* GORA-245 Upgrade to Avro 1.7.X in gora-cassandra (lewismc, Talat, Uyarer,
rmarroquin)
+
+* GORA-94 Upgrade to Apache Avro 1.7.x (Ed Kohlwey, lewismc, ferdy, yasin
tamer, alparslanavci, Talat Uyarer, rmarroquin)
+
+* GORA-106 Migrate Gora website documentation to Apache CMS (lewismc)
+
+* GORA-296 Improve 'Keyclass and nameclass match' logging in HBaseStore
(rmarroquin via lewismc)
+
+* GORA-246 Upgrade to Avro 1.7.X in gora-hbase (Alparslan Avcı, rmarroquin,
lewismc via lewismc)
+
+* GORA-154 delete() method is not implemented at CassandraStore, and always
returns false or 0 (rmarroquin via Kazuomi Kashii)
+
+* GORA-204 Don't store empty arrays in CassandraClient#addGenericArray(),
addStatefulHashMap() and CassandraStore#addOrUpdateField(rmarroquin via lewismc)
+
+* GORA-303 Upgrade to Avro 1.7.X in gora-solr (Talat UYARER)
+
+* GORA-253 Add Facebook, Linkedin, Google+, Twitter, etc plugins to website
(lewismc)
+
+* GORA-244 Upgrade to Avro 1.7.X in gora-accumulo (Akber Choudhry via lewismc)
+
+* GORA-306 Ssn field is not nullable in Employee's Avro Schema (Talat UYARER
via lewismc)
+
+* GORA-171 Implement Daily Rolling File Appender for localised Gora logging
(lewismc)
+
+* GORA-119 implement a filter enabled scan in gora (ferdy, kturner, enis, Tien
Nguyen Manh via lewismc)
+
+* GORA-231 Provide better error handling in AccumuloStore.readMapping when
file does not exist. (apgiannakidis via lewismc)
+
+* GORA-283 Specify field name for types not being considered in gora-cassandra
(lewismc)
+
+* GORA-285 Change logging at o.a.g.mapreduce.GoraRecordWriter from INFO to
WARN (lewismc)
+
+* GORA-117 gora hbase does not have a mechanism to set the caching on a
scanner, which makes for poor performance on map/reduce jobs (alfonsonishikawa)
+
+* GORA-281 More flexible file locations for cassandra's config and log4j (Nate
McCall via hsaputra)
+
+* GORA-275 Update Gora stores to pass conf when creating instance of
PartitionQueryImpl (Damien Raude-Morvan via hsaputra)
+
+* GORA-270 IOUtils static SerializationFactory field (Damien Raude-Morvan via
hsaputra)
+
+* GORA-268 Make GoraCompiler the main manifest attribute in gora-core
(Apostolos Giannakidis via lewismc)
+
+* GORA-265 Support for dynamic file extensions when traversing a directory
(Apostolos Giannakidis via lewismc)
+
+* GORA-264 Make generated data beans more java doc friendly (Apostolos
Giannakidis via lewismc)
+
+* GORA-222 upgrade jackson version to 1.6.9 (rherget via lewismc)
+
+* GORA-232 DataStoreTestBase should delegate all functionality to
DataStoreTestUtil (Apostolos Giannakidis via lewismc)
+
+* GORA-259 Removal of the main methods from the test case classes (Apostolos
via hsaputra)
+
+* GORA-229 Use @Ignore for unimplemented functionality to identify absent
tests (Apostolos Giannakidis via lewismc)
+
+* GORA-258 writeCapacUnits gets value from wrong attribute (Apostolos
Giannakidis via lewismc)
+
+* GORA-256 Add Solr store to gora-tutorial (Scott Stults via lewismc)
+
+* GORA-9 Implement a Solr-based store (ab, lewismc, Scott Stults)
+
+* GORA-237 Gora Compiler usage message for LPGL v3 mentions v2.1 (David
Medinets via lewismc)
+
+* GORA-230 Change logging behavior in AccumuloStore to pass exception object
to LOG.error method. (David Medinets via lewismc)
+
+* GORA-185 Remove ANT scripts and IVY confs (lewismc)
+
+* GORA-243 Properly escaping spaces of GORA_HOME in bin/gora (Apostolos
Giannakidis via lewismc)
+
+* GORA-174 GORA compiler does not handle ["string", "null"] unions in the AVRO
schema (alfonsonishikawa, rmarroquin, kturner via lewismc)
+ incl. GORA-206, 207 and 216.
+
+* GORA-239 Add null checks and better message in AccumuloStore (David Medinets
via hsaputra)
+
+0.3 release: 05/03/2013 (mm/dd/yyyy)
+Release Report:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311172&version=12317954Gora
Change Log
+
+* GORA-191 Support multiple Avro Schemas within GoraCompiler (Udesh
Liyanaarachchi, rmarroquin, lewismc)
+
+* GORA-159 gora-hbase MR tests should use HBaseTestingUtility instead of
deprecated HBaseClusterTestCase via GORA-89
+
+* GORA-89 Avoid HBase MiniCluster restarts to shorten gora-hbase tests
(hsaputra, alfonso, Ioan eugen Stan)
+
+* GORA-203 Bug in setting column field attribute "qualifier" in
CassandraMapping (rmarroquin, lewismc, kazk)
+
+* GORA-221 fix Cassandra configuration in gora-tutorial (lewismc)
+
+* GORA-211 thread safety: fix java.lang.NullPointerException - synchronize on
mutator (rherget)
+
+* GORA-210 thread safety: fix java.util.ConcurrentModificationException
(rherget)
+
+* GORA-190 Add "version" switch to bin/gora script (lewismc)
+
+* GORA-169 Implement correct logging for KeySpaces and attributes in
CassandraMappingManager (lewismc)
+
+* GORA-27 Optionally add license headers to generated files (lewismc +
rmarroquin)
+
+* GORA-181 Replace tab characters with correct Gora coding style (rmarroquin)
+
+* GORA-197 gora-cassandra requires BytesType for Cassandra column family
validator (kazk)
+
+* GORA-196 OSX JDK7 failed to load snappy native library from
snappy-java-1.0.4.1.jar (kazk)
+
+* GORA-182 Nutch 2.1 does not work with gora-cassandra 0.2.1 (kazk)
+
+* GORA-193 Make sure gora-core test dependency is always generated when
packaging (lewismc)
+
+* GORA-186 Show better errors when a field is missing in HBase mapping
(Alfonso Nishikawa via hsaputra)
+
+* GORA-179 Modify the Query interface to be Query<K, T extends Persistent> to
be more precise (hsaputra)
+
+* GORA-178 HBase fix ivy.xml to use the correct antconfig mapping (ferdy)
+
+* GORA-172 java.lang.ClassNotFoundException:
org.apache.gora.memory.store.MemStore.MemQuery (yumeng via lewismc)
+
+* GORA-103 Datastore for gora-dynamodb (rmarroquin via lewismc)
+
+* GORA-160 Gora Fails to Import Into Recent Versions of Eclipse (Ed Kohlwey
via lewismc)
+
+* GORA-85 Implement "Usage" messages for SpecificCompiler and LogAnalytics
(lewismc)
+
+* GORA-164 Use <type> instead of <classifier> configuration for test
dependencies (lewismc)
+
+* GORA-XX ensure directory cleanup succeeds in gora-* (Simone Tripodi via
lewismc)
+
+0.2.1 release: 26/07/2012
+Release Report:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311172&version=12322496
+
+* GORA-157 gora-cassandra test failure - proposal to skip 10 test cases for a
while (kazk)
+
+* GORA-156 Properly implement getSchemaName in CassandraStore (lewismc)
+
+* GORA-153 gora-cassandra does not correctly handle DELETED State for MAP
(kazk)
+
+* GORA-152 gora-core test incorrectly uses ByteBuffer's array() method to get
its byte array (kazk)
+
+* GORA-151 CassandraStore's schemaExists() method always returns false (kazk)
+
+* GORA-150 Introduce Configuration property preferred.schema.name (ferdy)
+
+* GORA-142 Creates org.apache.gora.cassandra.serializers package in order to
clean the code of store and query packages and to support additional types in
future. (kazk)
+
+* GORA-148 CassandraMapping supports only (first) keyspace and class in
gora-cassandra-mapping.xml (kazk)
+
+* GORA-143 GoraCompiler needs to add "import FixedSize" statement for FIXED
type (kazk)
+
+* GORA-147 fix threading issue caused by multiple threads trying to flush
(ferdy)
+
+* GORA-146 HBaseStore does not properly set endkey (ferdy)
+
+* GORA-140 Requires some adjustments on dependency at gora-cassandra (kazk,
lewismc)
+
+* GORA-138 gora-cassandra array type support: Double fix for GORA-81 Replace
CassandraStore#addOrUpdateField with TypeInferringSerializer to take advantage
of when the value is already of type ByteBuffer. (Kazuomi Kashii via lewismc)
+
+* GORA-139 Creates Cassandra column family with BytesType for column value
validator (and comparators), instead of UTF8Type (Kazuomi Kashii via lewismc)
+
+* GORA-131 gora-cassandra should support other key types than String (Kazuomi
Kashii via lewismc)
+
+* GORA-132 Uses ByteBufferSerializer for column value to support various data
types rather than StringSerializer (Kazuomi Kashii via lewismc)
+
+* GORA-77 Replace commons logging with Slf4j (Renato Javier MarroquÃn
Mogrovejo via lewismc)
+
+* GORA-134 ListGenericArray's hashCode causes StackOverflowError (Kazuomi
Kashii via lewismc)
+
+* GORA-95 Catch incorrect mapping configurations and implement sufficient
logging in CassandraMapping. (lewismc)
+
+* GORA-** Commit to fix classloading for CLI execution (lewismc)
+
+* GORA-122 gora-accumulo/lib is not cleaned after mvn clean (lewismc)
+
+* GORA-133 & 63 GoraCompiler cannot compile array type &
bin/compile-examples.sh does not work respectively (enis, Kazuomi Kashii via
lewismc)
+
+* GORA-129 redundant conf field in HBaseStore (ferdy)
+
+* GORA-123 Append correct submodule directories to SCM paths in submodule
pom's (lewismc)
+
+* GORA-127 Result objects are not closed properly from GoraRecordReader. (enis)
+
+0.2 Release: 20/04/2012
+Jira Release Report:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311172&version=12315541
+
+* GORA-120 Dirty fields are not correctly applied after serialization and map
clearance (ferdy)
+
+* GORA-115 Flushing HBaseStore should flush all HTable instances. (ferdy)
+
+* Make hbase autoflush default to false and make autoflush configurable rather
than hardcoded (stack via lewismc)
+
+* GORA-76 Upgrade to Hadoop 1.0.1 (ferdy & lewismc)
+
+* GORA-65 Initial checkin of gora accumulo datastore (kturner)
+
+* GORA-108 Change CassandraClient#init() to CassandraClient#initialize() for
consistency with other Datastores. (lewismc)
+
+* GORA-105 DataStoreFactory does not properly support multiple stores (ferdy)
+
+* GORA-** Update Gora parent pom to include maven release plugin targets, and
update developer credentials. (lewismc)
+
+* GORA-74 Remove sqlbuilder library (lewismc)
+
+* GORA-101 HBaseStore should properly support multiple tables in the mapping
file. (ferdy)
+
+* GORA-82 Add missing license headers & RAT target to pom.xml (lewismc)
+
+* GORA-88 HBaseByteInterface not thread safe (ferdy)
+
+* GORA-93 [gora-cassandra] Add implementation of CassandraStore.get(key)
(Sujit Pal via lewismc)
+
+* GORA-58 Upgrade Gora-Cassandra to use Cassandra 1.0.2 (lewismc)
+
+* GORA-80 Implement functionality to define consistency used for Cassandra
read and
+write operations. (lewismc)
+
+* GORA-91 Ensure that Gora adheres to ASF branding requirements (lewismc)
+
+* GORA-90 Create DOAP for Gora (lewismc)
+
+* GORA-79 Block keyspace creation until the whole cassandra cluster converges
to the new keyspace. (Patricio Echagüe via lewismc)
+
+* GORA-83 add 'target' dirs to svn ignore (ferdy)
+
+* GORA-66 testDeleteByQueryFields seems incorrect (Keith Turner via lewismc)
+
+* GORA-72 Made all artifacts proper OSGi bundles. Added ClassLoadingUtils
which will fallback to thread context classloader if Class.forName fails.
(iocanel)
+
+* GORA-55 Removed second assertion for schema existence, since schema is
already deleted, Excluded ranged queries from the tests, since the tests assume
end key to be inclussive while Hbase considers it exclusive. (iocanel)
+
+* GORA-** Updated the maven surefire plugin version to properly set the system
properties (iocanel)
+
+* GORA-22 Upgrade cassandra backend to 0.7 (jnioche & Alexis Detreglode)
+
+* GORA-69 Added xerces to dependencyManagement to avoid version conflicts
(iocanel)
+
+* GORA-54 Split TestHBaseStoreMapReduce to two individual tests, so that they
can run properly, Added jvm args to maven surefire plugin to increase the max
heap size that the tests will use to 512M. (iocanel)
+
+* GORA-70 Upgrade deprecated expressions in pom.xml for use in building
effective models, Replace reference to artifactId/version with
project.artifactId/project.version (iocanel)
+
+* GORA-68 Added test.build.data System property so that test data can be
stored under target. Added port reservation for gora-sql tests. Added mapping
xml to the gora-sql test classpath (iocanel)
+
+* GORA-51 Added surefire plugin configuration to run the tests isolated
(iocanel)
+
+* GORA-64 Query should document inclusiveness (Keith Turner via lewismc)
+
+* GORA-52 Run JUnit tests from the command line (lewismc)
+
+* GORA-62 Run bin/gora commands after maven build (lewismc)
+
+* GORA-43 Forward port 0.1.1 incubating Maven poms to trunk (lewismc)
+
+* GORA-57 HBaseStore does not correctly read family definitions (Ferdy via
lewismc)
+
+* GORA-56 HBaseStore is not thread safe. (Ferdy via lewismc)
+
+* GORA-48. HBaseStore initialization of table without configuration in
constructor will throw Exception (Ferdy via lewismc)
+
+* GORA-47&46. fix tar ant target & Add nightly target to build.xml
respectively (lewismc)
+
+* GORA-45. Add dependency to 'clean-cache' ant target (Lewis John McGibbney
via mattmann)
+
+* GORA-44. Ant build fails (Lakshmi Narasimhan via mattmann)
+
+* GORA-28. Merge back recent changes in 0.1-incubating to trunk (mattmann, ab)
+
+* GORA-12. Semantics of DataStore.delete* (ab via mattmann)
+
+* GORA-18. Configuration not found error breaks the build on trunk (ioannis
via mattmann)
+
+* GORA-26. Configurable classes should pass around Configuration consistently
(ab via mattmann)
+
+* GORA-32. Map type with long values generates non-compilable Java class (Yves
Langisch)
+
+* GORA-29. Gora maven support (Ioannis Canellos via mattmann)
+
+* GORA-31. jersey-json dependency not in repositories currently in
ivysettings.xml (Marsall Pierce via hsaputra)
+
+0.1-incubating release:
+
+* INFRA-3038. Initial import of code.
+
+* GORA-1. Organize source code for Apache. (enis)
+
+* GORA-6. Add methods that take dataStoreClass instead of data store instance
+ to Gora{Input|Output}Format and Gora{Mapper|Reducer}. (enis)
+
+* GORA-7. DataStoreFactory.createDataStore() should throw exceptions on
+ failure. (enis)
+
+* GORA-15. Primitive types cannot be used as keys in DataStore. (enis)
+
+* GORA-16. Create a tutorial for Gora. (enis)
+
+* GORA-21. Commons-lang needs a configuration in gora-core/ivy/ivy.xml
(jnioche)
+
+* GORA-20. Flush datastore regularly (Alexis Detreglode via jnioche)
+
+* GORA-23. Limit result set in store reads (Alexis Detreglode via hsaputra)
+
+* GORA-25. Upgrade Gora-hbase to HBase 0.90.0 (ab)
+
+* GORA-2. Create Gora web site (enis)
+
+* GORA-5. Add champions and mentors to Gora website (hsaputra)
Modified: release/gora/KEYS
==============================================================================
--- release/gora/KEYS (original)
+++ release/gora/KEYS Wed Apr 23 12:23:04 2014
@@ -111,154 +111,62 @@ rGuNiwsAoKz92ycEjcMnoLnX8AaPADdo1m/P
=zEfO
-----END PGP PUBLIC KEY BLOCK-----
-pub 4096R/4E21557F 2013-01-28
-uid Lewis John McGibbney (Code Signing Key)
<[email protected]>
-sig 3 4E21557F 2013-01-28 Lewis John McGibbney (Code Signing Key)
<[email protected]>
-sub 4096R/B343FA93 2013-01-28
-sig 4E21557F 2013-01-28 Lewis John McGibbney (Code Signing Key)
<[email protected]>
+pub 4096R/48BAEBF6 2013-10-28
+ Key fingerprint = DB7B 5199 121C 08A5 C8F4 052B 3A47 17F0 48BA EBF6
+uid Lewis John McGibbney (CODE SIGNING KEY)
<[email protected]>
+sig 3 48BAEBF6 2013-10-28 Lewis John McGibbney (CODE SIGNING KEY)
<[email protected]>
+sub 4096R/88149F13 2013-10-28
+sig 48BAEBF6 2013-10-28 Lewis John McGibbney (CODE SIGNING KEY)
<[email protected]>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)
-mQINBFEGDYUBEADAo4JMCO9BPqc06ziZNuiNdphR9TjLmyfEsh47LnKKjPKR2nAm
-5f88DCAEsUXDATS3CX9TSvA58pOq+IVMX7Y6mq9tRC+aRR/t4+p/kfZPJyBgGEsZ
-P2M427os9Wz6x+kt9TKteGBSDc+/XKFsRwrmQbKQmYzimc92nCBfbrMKDHkyWC7Q
-/5PS+dgQdeC6olBTLGANYip9aT93dgvvhw9gJl07gxHJAZckUtNC2WvPYd/kAbTj
-F9mQRNoq6NTznZDPJB3Iaz0TwOcM2TrrtMYC8ngCod6IuydXPMJhhIIjUVIKwXDP
-ga0aoJUAYPQn43Nx6TIiKDSVVORAarXC6yVb0u0QiYrIs2sAdlVvq+WIrSk3IdPb
-0nRVMw2Lx5x9pjDwzjgNj9VOuHLCkT8APtwIbbX/mJsU5BDdcJDVfzS1G2LkH1SI
-JBG7RXsEF1hcyG991DTEpZvC9o8PJVksCcOlP/l6sVAUbalbmk+Aid8hWdPGUSS5
-FcqJP2yYXS4YF0Iv41NABG12l6lYY3szscg3o2ssvUl6b8GoCL+lF64SOdiACVIN
-vm8eWOsuqlhvyvFgN1LNMCI8x96xKSqaWiYVPMkEUxdEXMzMVxXxO43RtN2I+DR2
-PdQYpKIIkvjrGe96Nsah7MJYAGd/SLOlhicILeOjKnU1jTLxWeJuFlat6QARAQAB
-tDxMZXdpcyBKb2huIE1jR2liYm5leSAoQ29kZSBTaWduaW5nIEtleSkgPGxld2lz
-bWNAYXBhY2hlLm9yZz6JAjgEEwECACIFAlEGDYUCGwMGCwkIBwMCBhUIAgkKCwQW
-AgMBAh4BAheAAAoJEEVo9yhOIVV/LT8QALu7hdtBw1lcVW4ZyBeOB/WLt3FAvhUA
-8gF334Q2Z3nyVs67aL9mSN8wjkU4K3wmHTW1INv2FTiFoX5VA4pHs7eGodNVSls9
-kTG9lYxuXVym8Si4PqwOvxj3FYrXEzbl+3oyJE5Rtmz+665OTMsqnz3YpDQ0zg8n
-p4fG8/7U5FL36BiZVT12XZbscqJTndEDQi7tv8RozfpaEfDV3nxwMTVRL++jSkWn
-n6SSSHbamCVY9/UGzOMuM4m9Lu+wBV/r1NW6J6W1Dz3GHggddxWvEmx9BfXv/Rzi
-Ic86w5NZHFAs6kc18XpYlPqErFIsqjy5kdCk435X+yBNjRdQznoZ8WxeT8AgDZyJ
-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
-=cK1G
+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
+U4mpCUPzJn0b//0ghg/s1QfpYW0sT6iCPWd1
+=Q6l+
-----END PGP PUBLIC KEY BLOCK-----