tree 91bf6fb821f788a680852c2501991bc444afae11
parent aed79ea9edb739c90805202314fadb3455a644e2
author Mark Owens <jmark99@apache.org> 1620389804 -0400
committer GitHub <noreply@github.com> 1620389804 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJglS+sCRBK7hj4Ov3rIwAAk5wIAK0YIlBx94lTqpHwDQx+8lfF
 9VMpM4UKlILcts6N3oVJ6GeAyO9Y5TeSGFmzSYPM5j+ggxosIm3yy3t3/vHMsy6g
 XMoa4lZ2NYoTLfSSIyCXLU1mGwNHsZEcStdf7nfIImSmOrKc3gniP74kJhCXFawg
 AkLwIp3CqVAUBDYq3+fYzmqr037AeumBJtV66dkxRY3VbK15IMvTflWelHqvx7hI
 KfJh9ixXTuxldkL5V2su7UrDOqYK7gHDZatj21G8YAHCBf1zBpszi5qGmkIb3ozs
 KpIisQp+FTpDpmvo3tDfhJw/EcguKL8DP/sS+4XerpznXbKf2jDV7WHxw2pjKuk=
 =FQRQ
 -----END PGP SIGNATURE-----
 

Avoid checking Accumulo table exists before creation (#74)

The initial focus of this ticket was to remove the check for table existence and just create and catch and then ignore TableExistsException instead.

After initial work (see previous comments), it was decided to update the code to work more realistically. Primarily, do not ignore the exceptions and at least alert the user that the table existed prior and let the user decide whether to remove the table and re-run the example. 

Another concern was the fear of interfering with an existing table on a users system. 

The primary changes then became to update table creation and provide feedback via logs to situations where prior tables already existed. In order to prevent table name collision, the examples were modified to make use of Accumulo namespaces. The classes and documentation were update to create an 'examples' namespace wherein all the table are created.

Along the way several other smaller tweaks were made also. Some of these are listed below.

* The process of table creation was re-factored into a <code>Commons</code> class. All examples now use a method in that class to create both the namespace and tablename. A couple of constants used throughout the example classes are defined there as well.
* The bloom classes now have a couple of methods that helped to remove some redundant code.
* An unneeded import was removed from the CharacterHistogram.java class.
* Most of the use of System.out.println was replace with logging instead.
* Update SequentialBatchWriter to exit if required table for scanning does not exist.
* A majority of the documentation was updated to included the creation of the necessary 'examples' namespace.
* The config command was updated to use the table.class.loader.context rather than the deprecated table.classpath.context.
* Update the constraints example to work with the new location of the contraints classes in Accumulo.
* Update filedata documentation to note that the ChunkCombiner class must be avaiable in the accumulo lib directory or on the classpath somewhere in order to scan the create examples.dataTable.

Closes #13

