Commit Graph

5920 Commits

Author SHA1 Message Date
Michael Stack add9974515 HBASE-18595 Set version in branch-2 from 2.0.0-alpha2-SNAPSHOT to 2.0.0-alpha2 2017-08-14 10:28:44 -07:00
Chia-Ping Tsai fffe4e278d HBASE-18528 DON'T allow user to modify the passed table/column descriptor 2017-08-14 14:03:19 +08:00
tedyu de22fabed2 HBASE-18566 [RSGROUP]Log the client IP/port of the rsgroup admin (Guangxu Cheng) 2017-08-13 21:21:43 -07:00
Josh Elser 35aa7aae3a HBASE-14135 Merge backup images (Vladimir Rodionov) 2017-08-13 21:16:39 -04:00
Michael Stack b4d44467fb HBASE-18271 Shade netty Purge mention of netty-all.
Add in hbase-thirdparty hbase-shaded-netty instead.
s/io.netty/org.apache.hadoop.hbase.shaded.io.netty/ everywhere in hbase.

Also set a system property when running tests and when starting
hbase; required by netty so can find the relocation files in the
bundled .so.
2017-08-13 12:50:20 -07:00
Reid Chan 802f602e11 HBASE-15511 ClusterStatus should be able to return responses by scope
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-14 01:08:31 +08:00
tedyu b5d4a0aa41 HBASE-18526 FIFOCompactionPolicy pre-check uses wrong scope (Vladimir Rodionov) 2017-08-11 16:42:29 -07:00
Michael Stack 7197b40cbf HBASE-18551 [AMv2] UnassignProcedure and crashed regionservers; AMENDMENT -- disable TestAM#testSocketTimeout... mock is insufficent for new processing 2017-08-11 14:21:07 -07:00
Yi Liang b5a4e07c6a HBASE-18557: Change splitable to mergeable in MergeTableRegionsProcedure
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-08-11 13:29:13 -07:00
Esteban Gutierrez b627cfad35 HBASE-18025 CatalogJanitor should collect outdated RegionStates from the AM 2017-08-11 14:42:22 -05:00
Michael Stack 5940f4224c HBASE-18551 [AMv2] UnassignProcedure and crashed regionservers
If an unassign is unable to communicate with its target server,
expire the server and then wait on a signal from ServerCrashProcedure
before proceeding. The unassign has lock on the region so no one else
can proceed till we complete. We prevent any subsequent assign from
running until logs have been split for crashed server.

In AssignProcedure, do not assign if table is DISABLING or DISABLED.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Change remoteCallFailed so it returns boolean on whether implementor
wants to stay suspended or not.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
  Doc. Also, if we are unable to talk to remote server, expire it and
then wait on SCP to wake us up after it has processed logs for failed
server.
2017-08-11 07:17:26 -07:00
Guanghao Zhang 0c16bb591b HBASE-18500 Performance issue: Don't use BufferedMutator for HTable's put method 2017-08-11 16:38:08 +08:00
Yu Li 56a4fedda2 HBASE-18469 Correct RegionServer metric of totalRequestCount 2017-08-11 14:15:03 +08:00
Guanghao Zhang 8197a31bbc HBASE-17125 Inconsistent result when use filter to read data 2017-08-11 11:04:42 +08:00
Esteban Gutierrez b3e7e31dee HBASE-18024 HRegion#initializeRegionInternals should not re-create .hregioninfo file when the region directory no longer exists 2017-08-10 17:56:56 -05:00
Umesh Agashe ad266a4b66 HBASE-18560 Fixed master.assignment.TestAssignmentManager hangs on master and it shows up in flaky list 2017-08-10 15:01:15 -07:00
Ashu Pachauri 2f88bf6d40 HBASE-18398: Snapshot operation fails with FileNotFoundException 2017-08-10 14:23:30 -07:00
Umesh Agashe 6f6f0a4849 HBASE-18543 Disabled test TestMasterFailover
This test as it is written currently will not work with AMv2. This needs to be re-written after HBASE-18511 is committed. Disabled the test and update JIRA to re-enable it with dependency on HBASE-18511.

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-10 11:01:57 -07:00
zhangduo 64345a5b5a HBASE-18489 Expose scan cursor in RawScanResultConsumer 2017-08-10 10:11:49 +08:00
Andrew Purtell a902175553 HBASE-18248 Warn if monitored RPC task has been tied up beyond a configurable threshold 2017-08-09 18:16:57 -07:00
Umesh Agashe f855b51650 HBASE-18525 [AMv2] Fixed test TestAssignmentManager#testSocketTimeout on master branch 2017-08-09 10:16:08 -07:00
Umesh Agashe 7a00571795 HBASE-18492 [AMv2] Embed code for selecting highest versioned region server for system table regions in AssignmentManager.processAssignQueue()
* Modified AssignmentManager.processAssignQueue() method to consider only highest versioned region servers for system table regions when
  destination server is not specified for them. Destination server is retained, if specified.
* Modified MoveRegionProcedure to allow null value for destination server i.e. moving a region from specific source server to non-specific/ unknown
  destination server (picked by load-balancer) is supported now.
* Removed destination server selection from HMaster.checkIfShouldMoveSystemRegionAsync(), as destination server will be picked by load balancer

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-08 14:02:36 -07:00
Josh Elser f262548b1f HBASE-18514 Squash of space quota "phase 2" work
Contains the following commits:

  HBASE-17748 Include HBase snapshots in space quotas

  Introduces a new Chore in the Master which computes the size
  of the snapshots included in a cluster. The size of these
  snapshots are included in the table's which the snapshot was created
  from HDFS usage.

  Includes some test stabilization, trying to make the tests more
  deterministic by ensuring we observe stable values as we know
  that those values are mutable. This should help avoid problems
  where size reports are delayed and we see an incomplete value.

  HBASE-17752 Shell command to list snapshot sizes WRT quotas

  HBASE-17840 Update hbase book to space quotas on snapshots
2017-08-07 16:32:16 -04:00
Chia-Ping Tsai afd5866de0 HBASE-18502 Change MasterObserver to use TableDescriptor and ColumnFamilyDescriptor 2017-08-07 11:25:45 +08:00
no_apologies 2c067695dd HBASE-18515 Introduce Delete.add as a replacement for Delete#addDeleteMarker
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-07 11:13:12 +08:00
Guanghao Zhang be034c26b4 HBASE-18485 Performance issue: ClientAsyncPrefetchScanner is slower than ClientSimpleScanner 2017-08-07 10:43:03 +08:00
Zach York 0f20ec395a HBASE-18520 Add jmx value to determine true Master Start time
This is to determine how long it took in total for the master to start and finish initializing.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-05 22:33:11 -07:00
Umesh Agashe 55a754e6cb HBASE-18516 Removed dead code in ServerManager resulted mostly from AMv2 refactoring
* Call to methods sendRegionOpen(), isServerReachable(), removeRequeuedDeadServers(), getRequeuedDeadServers() got removed in HBASE-14614
* Call to method ServerManager.sendFavoredNodes() got removed in HBASE-17198
2017-08-04 13:57:17 -07:00
Apekshit Sharma 41da64a144 HBASE-18231 Deprecate Admin#closeRegion*() commands in favor of Admin#unassign().
Other changes:
- Update corresponding tests in TestAdmin2. Removed tests centered around serverName part of old functions.
- Remove dead functions from ProtobufUtil and ServerManager
- Rename closeRegion* functions in HBTU to unassignRegion*

Change-Id: Ib9bdeb185e10750daf652be0bb328306accb73ab
2017-08-02 15:22:17 -07:00
Michael Stack ee70b1d2e0 HBASE-17056 Remove checked in PB generated files
Selective add of dependency on hbase-thirdparty jars.
Update to READMEs on how protobuf is done (and update to refguide).
Removed all checked in generated protobuf files. They are generated
on the fly now as part of mainline build.
2017-08-02 09:42:38 -07:00
Chia-Ping Tsai b4f8377aa0 HBASE-18480 The cost of BaseLoadBalancer.cluster is changed even if the rollback is done 2017-08-02 08:43:04 +08:00
Umesh Agashe 3f540f3801 HBASE-18491 [AMv2] Fail UnassignProcedure if source Region Server is not online.
The patch also enables TestServerCrashProcedure.testRecoveryAndDoubleExecutionOnRsWithMeta()

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-01 17:05:22 -07:00
James Taylor f67dae90f9 HBASE-18487 Minor fixes in row lock implementation
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-08-01 12:16:43 -07:00
Umesh Agashe 7bdabed275 HBASE-18261 Created RecoverMetaProcedure and used it from ServerCrashProcedure and HMaster.finishActiveMasterInitialization().
This procedure can be used from any code before accessing meta, to initialize/ recover meta

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-31 14:25:38 -07:00
Sean Busbey 5490c558bc HBASE-18475 ensure only non-null procedures are sent to requireTableExclusiveLock
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-31 11:06:57 -05:00
Abhishek Singh Chouhan 08b5a4b2c6 HBASE-18374 RegionServer Metrics improvements 2017-07-31 12:44:27 +05:30
Guanghao Zhang 8fc010636a HBASE-18481 The autoFlush flag was not used in PE tool 2017-07-31 11:04:09 +08:00
Yi Liang 928137c1ce HBASE-18465: [AMv2] remove old split region code that is no longer needed
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-30 15:25:40 -05:00
Alex Leblang dbc8ea6486 HBASE-18406 Remove NO-OP Method
This patch removes start(MasterProcedureEnv) from
ServerCrashProcedure.java which was a misnomer as a no-op. It
did not start anything.

Change-Id: I4e91864ace912e137471bfce03516746c4aff83e

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-30 14:01:13 +01:00
Abhishek Singh Chouhan 12b9a151e6 HBASE-15134 Add visibility into Flush and Compaction queues 2017-07-28 13:04:52 +05:30
Esteban Gutierrez 75789048c1 HBASE-18362 hbck should not report split replica parent region from meta as errors (Huaxiang Sun)
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2017-07-27 16:04:45 -05:00
Chia-Ping Tsai 164df6bdd9 HBASE-18449 Fix client.locking.TestEntityLocks 2017-07-26 20:29:14 +08:00
Malcolm Taylor 7517f93265 HBASE-18434 Address some alerts raised by lgtm.com
Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
2017-07-26 10:03:07 +05:30
Andrew Purtell e24f7f4675 HBASE-18054 log when we add/remove failed servers in client (Ali) 2017-07-25 18:53:08 -07:00
Umesh Agashe a5dbaaa56c HBASE-18427 minor cleanup around AssignmentManager
- unused imports
- superfluous exception in method definitions

Change-Id: I156383b9895fa718fe9d5227003c23bd945cf999
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-07-25 17:52:08 -07:00
Josh Elser 50d9301136 HBASE-18023 Update row threshold warning from 1k to 5k (addendum) 2017-07-25 18:35:12 -04:00
Phil Yang 86ce7fcbbf HBASE-15968 New behavior of versions considering mvcc and ts rather than ts only 2017-07-25 15:17:47 +08:00
Stephen Yuan Jiang 609190029c HBASE-18354 Fix TestMasterMetrics that were disabled by Proc-V2 AM in HBASE-14614 (Vladimir Rodionov) 2017-07-24 14:52:43 -07:00
Balazs Meszaros 45bd493b33 HBASE-18367 Reduce ProcedureInfo usage
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-24 10:41:43 +01:00
Yi Liang 9e230dc321 HBASE-18107: [AMv2] Remove DispatchMergingRegionsRequest & DispatchMergingRegions
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-23 10:45:38 +01:00
Mike Drob 254b78c116 HBASE-18433 Convenience method for creating simple ColumnFamilyDescriptor
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-22 23:44:02 +08:00
rgidwani d461bec6c2 HBASE-15816 Provide client with ability to set priority on Operations
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-07-21 17:12:21 -07:00
Michael Stack d5c6e11016 HBASE-17908 Upgrade guava
Pull in guava 22.0 by using the shaded version up in new hbase-thirdparty project.

In poms, exclude guava everywhere except on hadoop-common. Do this so
we minimize transitive includes. hadoop-common is needed because hadoop
Configuration uses guava doing preconditions.

Everywhere we used guava, instead use shaded so fix a load of imports.

Stopwatch API changed as did hashing and toStringHelper which is now
in MoreObjects class. Otherwise, minimal changes to come up on 22.0
2017-07-21 15:41:52 +01:00
anoopsamjohn 8606cda357 HBASE-16993 BucketCache throw java.io.IOException: Invalid HFile block magic when configuring hbase.bucketcache.bucket.sizes. 2017-07-20 22:59:52 +05:30
Peter Somogyi 9300fbc9c1 HBASE-16312 update jquery version
Upgrade jquery from 1.8.3 to 3.2.1 in hbase-server and hbase-thrift modules

Change-Id: I92d479e9802d954f607ba409077bc98581e9e5ca

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-20 10:08:12 +01:00
Andrew Purtell cbf390422b HBASE-18330 NPE in ReplicationZKLockCleanerChore 2017-07-19 15:46:22 -07:00
Chia-Ping Tsai 594f892c02 HBASE-18308 Eliminate the findbugs warnings for hbase-server 2017-07-20 00:35:35 +08:00
Phil Yang fc362f69cb HBASE-18390 Sleep too long when finding region location failed 2017-07-19 11:49:58 +08:00
tedyu a74d270f7f HBASE-18377 Error handling for FileNotFoundException should consider RemoteException in openReader() 2017-07-18 06:46:34 -07:00
Michael Stack 4663d7b9a7 HBASE-18366 Fix flaky test TestServerCrashProcedure#testRecoveryAndDoubleExecutionOnRsWithMeta (Umesh Agashe)
Disabled for now. Will be back here when a more fundamental fix.
2017-07-14 22:39:53 +01:00
Yi Liang a4575704bc HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-14 22:26:17 +01:00
Sean Busbey 9cc9404261 HBASE-18187 update version to 2.0.0-alpha-2-SNAPSHOT 2017-07-14 11:20:32 -05:00
Mike Drob 246d42297b HBASE-17922 Clean TestRegionServerHostname for hadoop3.
Change-Id: I6f1514b1bc301be553912539e6a4192c2ccc782b
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-07-13 11:44:49 -07:00
Jan Hentschel 97b649eb93 HBASE-18344 Introduce Append.addColumn as a replacement for Append.add
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-13 20:05:22 +08:00
Mike Drob 2cde0be393 HBASE-18177 FanOutOneBlockAsyncDFSOutputHelper fails to compile against Hadoop 3
Because ClientProtocol::create has API changes between Hadoop 2/3

Signed-off-by: zhangduo <zhangduo@apache.org>
2017-07-12 13:40:34 +08:00
Guanghao Zhang 45cabfb406 HBASE-18343 (addendum) Track the remaining unimplemented methods for async admin 2017-07-12 09:58:53 +08:00
tedyu f9f1a3a9fb HBASE-18358 Backport HBASE-18099 'FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish' 2017-07-11 18:10:07 -07:00
Chia-Ping Tsai 4c699fd821 HBASE-18295 The result contains the cells across different rows 2017-07-12 02:34:01 +08:00
Guanghao Zhang 8a8e299eee HBASE-18343 Track the remaining unimplemented methods for async admin 2017-07-11 14:05:02 +08:00
zhangduo 7acb226eb9 HBASE-18348 The implementation of AsyncTableRegionLocator does not follow the javadoc 2017-07-11 11:44:40 +08:00
Chia-Ping Tsai 6456c8bf84 HBASE-18267 The result from the postAppend is ignored 2017-07-11 10:30:42 +08:00
tedyu 5d7dfa4d1d HBASE-17705 Procedure execution must fail fast if procedure is not registered (Vladimir Rodionov) 2017-07-10 09:11:58 -07:00
zhangduo 4ab66aca89 HBASE-18307 Share the same EventLoopGroup for NettyRpcServer, NettyRpcClient and AsyncFSWALProvider at RS side 2017-07-10 21:02:55 +08:00
Guanghao Zhang 4368f09057 HBASE-18318 Implement updateConfiguration/stopMaster/stopRegionServer/shutdown methods 2017-07-10 13:49:03 +08:00
Guanghao Zhang da80839ecc HBASE-18316 Implement async admin operations for draining region servers 2017-07-09 20:22:06 +08:00
Chia-Ping Tsai 53ec9c5bd3 HBASE-18241 Change client.Table, client.Admin, Region, Store, and HBaseTestingUtility to not use HTableDescriptor or HColumnDescriptor 2017-07-08 17:00:15 +08:00
Guanghao Zhang 5d4e4f2007 HBASE-18317 Implement async admin operations for Normalizer/CleanerChore/CatalogJanitor 2017-07-08 10:59:01 +08:00
Guanghao Zhang 359f97711f HBASE-18319 Implement getClusterStatus/getRegionLoad/getCompactionState/getLastMajorCompactionTimestamp methods 2017-07-07 16:47:19 +08:00
Yu Li 89d2adfe92 HBASE-18083 Make large/small file clean thread number configurable in HFileCleaner 2017-07-07 15:39:34 +08:00
Michael Stack b2b5cd6de6 Revert "HBASE-17056 Remove checked in PB generated files Selective add of dependency on"
Build is unstable and has interesting issues around CLASSPATH. Revert
for now.

This reverts commit 1049025e1d.
2017-07-06 21:48:41 -07:00
Phil Yang 1ead5f9103 HBASE-17931 Assign system tables to servers with highest version 2017-07-06 17:28:40 +08:00
Ramkrishna 381a151d14 HBASE-18002 Investigate why bucket cache filling up in file mode in an
exisiting file  is slower (Ram)
2017-07-06 11:22:11 +05:30
Michael Stack 1049025e1d HBASE-17056 Remove checked in PB generated files Selective add of dependency on
hbase-thirdparty jars. Update to READMEs on how protobuf is done (and update to
refguide) Removed all checked in generated protobuf files. They are generatedon
the fly now as part of mainline build.
2017-07-05 21:38:23 -07:00
Michael Stack dcf4b422f2 HBASE-18325 Disable flakey TestMasterProcedureWalLease 2017-07-05 20:12:18 -07:00
Michael Stack 92253defae HBASE-17201 Edit of HFileBlock comments and javadoc 2017-07-05 13:32:54 -07:00
tedyu 3ac029b822 HBASE-18312 Ineffective handling of FileNotFoundException in FileLink.tryOpen() 2017-07-05 10:38:05 -07:00
Stephen Yuan Jiang 8a1ec2a93e HBASE-18301 Enable TestSimpleRegionNormalizerOnCluster#testRegionNormalizationMergeOnCluster that was disabled by Proc-V2 AM in HBASE-14614 (Stephen Yuan Jiang) 2017-07-05 09:57:07 -07:00
Guanghao Zhang 507f5fb844 HBASE-18297 Provide a AsyncAdminBuilder to create new AsyncAdmin instance 2017-07-05 10:10:05 +08:00
Samir Ahmic 590979aac3 HBASE-18310 LoadTestTool unable to write data
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-07-04 13:42:16 -07:00
samirMop dcfd319b5b HBASE-15943 Add page displaying JVM process metrics
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-03 21:35:59 -07:00
Peter Somogyi eacbdb061e HBASE-18264 Update pom plugins
Update plugins in main and subprojects
Unified versions to use variable instead of direct values

Affected plugins:
- apache-rat-plugin 0.11 -> 0.12
- asciidoctor-maven-plugin 1.5.2.1 -> 1.5.5
- asciidoctorj-pdf 1.5.0-alpha.6 -> 1.5.0-alpha.15
- build-helper-maven-plugin 1.9.1 -> 3.0.0
- buildnumber-maven-plugin 1.3 -> 1.4
- exec-maven-plugin 1.2.1/1.4.0 -> 1.6.0
- extra-enforcer-rules 1.0-beta-3 -> 1.0-beta-6
- findbugs-maven-plugin 3.0.0 -> 3.0.4
- jamon-maven-plugin 2.4.1 -> 2.4.2
- maven-bundle-plugin 2.5.3 -> 3.3.0
- maven-compiler-plugin 3.2/3.5.1 -> 3.6.1
- maven-eclipse-plugin 2.9 -> 2.10
- maven-shade-plugin 2.4.1 -> 3.0.0
- maven-surefire-plugin 2.18.1 -> 2.20
- maven-surefire-report-plugin 2.7.2 -> 2.20
- scala-maven-plugin 3.2.0 -> 3.2.2
- spotbugs 3.1.0-RC1 -> 3.1.0-RC3
- wagon-ssh 2.2 -> 2.12
- xml-maven-plugin 1.0 -> 1.0.1

- maven-assembly-plugin 2.4 -> 2.6(inherited)
- maven-dependency-plugin 2.4 -> 2.10 (inherited)
- maven-enforcer-plugin 1.3.1 -> 1.4.1 (inherited)
- maven-javadoc-plugin 2.10.3 -> 2.10.4 (inherited)
- maven-resources-plugin 2.7 (inherited)
- maven-site-plugin 3.4 -> 3.5.1 (inherited)

Change-Id: I84539f555be498dff18caed1e3eea1e1aeb2143a

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-03 19:43:42 -07:00
Guanghao Zhang af36bfb2f7 HBASE-18283 Provide a construct method which accept a thread pool for AsyncAdmin 2017-07-04 10:18:49 +08:00
Sean Busbey 8005d32943 HBASE-17995 improve log messages during snapshot tests.
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-30 09:52:24 -05:00
Sean Busbey 2d2a1d4e26 HBASE-18288 Declared dependency on specific javax.ws.rs.
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2017-06-30 09:52:13 -05:00
zhangduo d77fccde93 HBASE-16585 Rewrite the delegation token tests with Parameterized pattern 2017-06-30 20:41:21 +08:00
Michael Stack 619dcf24f4 Revert "HBASE-18229: create new Async Split API to embrace AM v2"
TestShell is failing.

This reverts commit 290fb8965d.
2017-06-30 03:30:50 -07:00
Michael Stack 926781540c HBASE-16192 Fix the potential problems in TestAcidGuarantees (Colin Ma) 2017-06-30 03:17:35 -07:00
Yi Liang 290fb8965d HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 16:21:08 -07:00
张世彬10204932 f6dd43be70 HBASE-17982 correct spelling error of 'occured'
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 15:10:08 -07:00
Umesh Agashe 7e7917ed6d HBASE-18292 Fixed flaky test hbase.master.locking.TestLockProcedure#testLocalMasterLockRecovery
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-28 21:33:15 -07:00