Commit Graph

343 Commits

Author SHA1 Message Date
Apache9 9b413cf262
HBASE-22590 Remove the deprecated methods in Table interface (#309)
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
Signed-off-by: Guanghao <zghao@apache.org>
2019-06-17 10:18:18 +08:00
Jan Hentschel 47a96444da
HBASE-22275 Removed deprecated getRegionInfo in HRegionLocation
Signed-off-by: stack <stack@apache.org>
2019-06-16 16:13:46 +02:00
syedmurtazahassan b32e716bee HBASE-22481 Javadoc Warnings reference not found 2019-06-08 20:25:31 +02:00
zhangduo 26037854ad HBASE-22524 Refactor TestReplicationSyncUpTool 2019-06-04 07:46:15 +08:00
Guanghao 97090560a5
HBASE-22003 Fix flaky test TestVerifyReplication.testHBase14905 2019-05-28 17:22:53 +08:00
Andrew Purtell a30b186568
HBASE-22449 https everywhere in Maven metadata (#247) 2019-05-21 12:34:25 -07:00
Jan Hentschel 2c7fdb39ce HBASE-22277 Removed deprecated methods from Get 2019-05-01 01:25:53 +02:00
Sean Busbey bf140acd20 HBASE-22083 move eclipse settings into a profile.
Signed-off-by: stack <stack@apache.org>
2019-04-25 14:17:18 -05:00
Jan Hentschel f30d6c958a HBASE-22231 Removed unused and '*' imports 2019-04-20 22:03:32 +02:00
Jan Hentschel 12bcb879da HBASE-22199 Replaced UTF-8 String with StandardCharsets.UTF_8 2019-04-17 10:13:25 +02:00
wellington cd61bcc01e
HBASE-20586: add support for clusters on different realms (with cross-realm authentication)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2019-04-15 11:23:21 -07:00
meiyi 94d9dc1e84 HBASE-22084 Rename AccessControlLists to PermissionStorage
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-04-12 14:18:09 +08:00
Bahram Chechrazy 2c8b813810 HBASE-22194 Snapshot unittests fail on Windows due to invalid file path uri
Signed-off-by: Sergey Shelukhin <sershe@apache.org>
2019-04-11 11:33:52 -07:00
Guanghao 89ce5d17e4
HBASE-22163 Should not archive the compacted store files when region warmup (#122)
* HBASE-22163 Should not archive the compacted store files when region warmup
2019-04-08 22:11:07 +08:00
stack 089a639724 HBASE-22052 pom cleaning; filter out jersey-core in hadoop2 to match hadoop3 and remove redunant version specifications
This is a reapply of a reverted commit. This commit includes
HBASE-22059 amendment and subsequent ammendments to HBASE-22052.
See HBASE-22052 for full story.

jersey-core is problematic. It was transitively included from hadoop
and polluting our CLASSPATH with an implementation of a 1.x version
of the javax.ws.rs.core.Response Interface from jsr311-api when we
want the javax.ws.rs-api 2.x version.

    M hbase-endpoint/pom.xml
    M hbase-http/pom.xml
    M hbase-mapreduce/pom.xml
    M hbase-rest/pom.xml
    M hbase-server/pom.xml
    M hbase-zookeeper/pom.xml
     Remove redundant version specification (and the odd property define
     done already up in parent pom).
    M hbase-it/pom.xml
    M hbase-rest/pom.xml
     Exclude jersey-core explicitly.

    M hbase-procedure/pom.xml
     Remove redundant version and classifier.

    M pom.xml
     Add jersey-core exclusions to all dependencies that pull it in
     except hadoop-minicluster. mr tests fail w/o the jersey-core
     so let it in for minicluster and then in modules, exclude it
     where it causes damage as in hbase-it.
2019-03-25 09:30:09 -04:00
Kevin Risden c144c814b0 HBASE-21895 - Error prone upgrade
* Upgrades to error prone 2.3.3
* Moves to error prone plugin to support 9+ JDKs
* Removes custom error prone plugin due to no usage

Signed-off-by: zhangduo <zhangduo@apache.org>
2019-03-24 13:13:07 +08:00
Duo Zhang 3c5761e365 HBASE-22002 Remove the deprecated methods in Admin interface
Signed-off-by: Zheng Hu <openinx@gmail.com>
2019-03-14 21:42:23 +08:00
chenyechao a54f0bfb8f HBASE-21810 bulkload support set hfile compression on client
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-03-12 16:02:15 +08:00
Wellington Chevreuil 92e0d2c246
HBASE-21959 - CompactionTool should close the store it uses for compacting files, in order to properly archive compacted files.
Signed-off-by: Xu Cang <xucang@apache.org>
2019-03-08 14:04:54 -08:00
subrat.mishra 177d43d8db HBASE-21871 Added support to specify a peer table name in VerifyReplication tool
Signed-off-by: Toshihiro Suzuki <brfrn169@gmail.com>
2019-03-06 23:27:44 +09:00
Guanghao Zhang 0fc5173eef HBASE-21922 BloomContext#sanityCheck may failed when use ROWPREFIX_DELIMITED bloom filter 2019-02-23 23:25:01 +08:00
Duo Zhang f0032c9255 HBASE-20587 Replace Jackson with shaded thirdparty gson
Signed-off-by: Michael Stack <stack@apache.org>
2019-02-22 16:24:51 +08:00
zhangduo 0b2b474b4c HBASE-21908 Remove Scan.getScanMetrics
Signed-off-by: Michael Stack <stack@apache.org>
2019-02-16 17:39:31 +08:00
Josh Elser ae0198084c HBASE-21872 Use a call that defaults to UTF-8 charset for string to byte encoding
Fixed commit message

Signed-off-by: Sean Busbey <busbey@apache.org>
2019-02-15 12:11:40 -05:00
Josh Elser d0e4912f67 Revert "HBASE-21782 Use a call that defaults to UTF-8 charset for string to byte encoding"
This reverts commit 3d4e1d57e5. Fixing incorrect Jira id.
2019-02-15 12:11:29 -05:00
Josh Elser 3d4e1d57e5 HBASE-21782 Use a call that defaults to UTF-8 charset for string to byte encoding
Signed-off-by: Sean Busbey <busbey@apache.org>
2019-02-14 12:02:49 -05:00
huzheng 1df571cb36 HBASE-18484 VerifyRep by snapshot does not work when Yarn/SourceHBase/PeerHBase located in three different HDFS clusters 2019-02-12 10:42:52 +08:00
Toshihiro Suzuki b322d0a3e5 HBASE-21201 Support to run VerifyReplication MR tool without peerid
Signed-off-by: Josh Elser <elserj@apache.org>
2019-02-10 16:15:45 +09:00
zhangduo 1995f61d7f HBASE-21782 LoadIncrementalHFiles should not be IA.Public
Signed-off-by: Michael Stack <stack@apache.org>
2019-01-27 11:24:55 +08:00
Duo Zhang 4f3b95b318 HBASE-21762 Move some methods in ClusterConnection to Connection
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2019-01-25 21:13:44 +08:00
huzheng 15031c5bd5 HBASE-21657 PrivateCellUtil#estimatedSerializedSizeOf has been the bottleneck in 100% scan case 2019-01-16 09:41:02 +08:00
stack 7755d4beed HBASE-21646 Flakey TestTableSnapshotInputFormat; DisableTable not completing... Amendment to fix checkstyle complaint
Includes fix for checkstyle complaint.
2018-12-28 14:48:23 -08:00
huzheng c2d5991b82 HBASE-21642 CopyTable by reading snapshot and bulkloading will save a lot of time 2018-12-27 18:22:54 +08:00
Josh Elser 67d6d5084c HBASE-21568 Use CacheConfig.DISABLED where we don't expect to have blockcache running
This includes removing the "old way" of disabling blockcache in favor of the
new API.

Signed-off-by: Guanghao Zhang <zghao@apache.org>
2018-12-11 10:02:18 -05:00
BELUGA BEHR 7877e09b60 HBASE-21492 CellCodec Written To WAL Before It's Verified 2018-11-27 08:57:06 -08:00
Michael Stack d486bba630 HBASE-21452 Illegal character in hbase counters group name 2018-11-13 22:11:43 -08:00
huzheng 8135285506 HBASE-21445 CopyTable by bulkload will write hfile into yarn's HDFS 2018-11-10 10:18:01 +08:00
Artem Ervits b723ce1051 HBASE-21194 Add tests in TestCopyTable which exercises MOB feature
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-10-20 08:10:27 -07:00
ffernandez92 8f8d571779 HBASE-20766 Typo in VerifyReplication error.
closes #80.

Signed-off-by: Sean Busbey <busbey@apache.org>
2018-09-26 14:52:28 -07:00
Guangxu Cheng 3de02d57f6
HBASE-20636 Introduce two bloom filter type : ROWPREFIX and ROWPREFIX_DELIMITED
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Amending-Author: Andrew Purtell <apurtell@apache.org>
2018-09-21 16:06:39 -07:00
Tyler Mi 5c1b325b51 HBASE-21098 Improve Snapshot Performance with Temporary Snapshot Directory when rootDir on S3
Signed-off-by: Zach York <zyork@apache.org>
2018-09-11 16:23:16 -07:00
Andrew Purtell 9af7bc6204
HBASE-20307 LoadTestTool prints too much zookeeper logging (Colin Garcia) 2018-09-07 15:09:09 -07:00
Duo Zhang 855f4bbb28 HBASE-21157 Split TableInputFormatScan to individual tests 2018-09-06 13:56:32 +08:00
Guanghao Zhang bb657c2d2e HBASE-21127 TableRecordReader need to handle cursor result too 2018-09-05 10:34:07 +08:00
Mingliang Liu 6dd5383033 HBASE-21071 HBaseTestingUtility::startMiniCluster() to use builder pattern
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2018-08-27 10:20:31 -07:00
Vikas Vishwakarma dd9880e0de HBASE-20890 PE filterScan seems to be stuck forever 2018-08-27 13:05:29 +05:30
subrat.mishra 49ae8549cf HBASE-21040 Replace call to printStackTrace() with proper logger call
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-08-15 08:29:54 -07:00
Mike Drob dbcc80c9e7
HBASE-20884 Replace Base64 with j.u.Base64
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-07-13 12:59:36 -05:00
Wei-Chiu Chuang 6ee0fedb3d HBASE-20859 Backup and incremental load could fail in secure clusters.
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-07-11 16:56:39 -07:00
Michael Stack ffe430237a HBASE-20785 NPE getting metrics in PE testing scans 2018-06-27 12:10:15 -07:00
Sahil Aggarwal 952bb96c8a
HBASE-19164: Remove UUID.randomUUID in tests.
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-06-27 10:34:16 -05:00
jingyuntian a68dbde941 HBASE-20769 getSplits() has a out of bounds problem in TableSnapshotInputFormatImpl
Signed-off-by: huzheng <openinx@gmail.com>
2018-06-27 14:39:20 +08:00
huzheng 063c3aca56 Revert "HBASE-20769 getSplits() has a out of bounds problem in TableSnapshotInputFormatImpl"
This reverts commit b41b05cd6b.
2018-06-27 14:39:12 +08:00
jingyuntian b41b05cd6b HBASE-20769 getSplits() has a out of bounds problem in TableSnapshotInputFormatImpl 2018-06-26 15:24:49 +08:00
Sean Busbey f1b536bad4 HBASE-20332 shaded mapreduce module shouldn't include hadoop
* modify the jar checking script to take args; make hadoop stuff optional
* separate out checking the artifacts that have hadoop vs those that don't.
* * Unfortunately means we need two modules for checking things
* * put in a safety check that the support script for checking jar contents is maintained in both modules
* * have to carve out an exception for o.a.hadoop.metrics2. :(
* fix duplicated class warning
* clean up dependencies in hbase-server and some modules that depend on it.
* allow Hadoop to have its own htrace where it needs it
* add a precommit check to make sure we're not using old htrace imports
2018-06-18 11:31:04 -07:00
Josh Elser a5ed463d48 HBASE-20579 Include original exception in wrapped exception
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2018-06-02 22:27:13 -04:00
tedyu 74ef118e9e HBASE-20668 Avoid permission change if ExportSnapshot's copy fails 2018-06-01 14:34:51 -07:00
Mike Drob a110e1eff5 HBASE-20478 Update checkstyle to v8.2
Cannot go to latest (8.9) yet due to
  https://github.com/checkstyle/checkstyle/issues/5279

* move hbaseanti import checks to checkstyle
* implment a few missing equals checks, and ignore one
* fix lots of javadoc errors

Signed-off-by: Sean Busbey <busbey@apache.org>
2018-05-29 10:12:31 -05:00
Allan Yang f3d1c021de HBASE-20601 Add multiPut support and other miscellaneous to PE 2018-05-24 19:52:40 +08:00
Allan Yang 4005a0c4d3 Revert "HBASE-20601 Add multiPut support and other miscellaneous to PE" 2018-05-24 19:37:21 +08:00
Allan Yang 85901754f8 HBASE-20601 Add multiPut support and other miscellaneous to PE 2018-05-24 09:11:45 +08:00
jingyuntian c9f8c3436f HBASE-20579 Improve snapshot manifest copy in ExportSnapshot
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-05-18 06:42:12 -07:00
Xu Cang cf529f18a9 HBASE-20488 Fix PE command help message
checkstyle fix

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2018-05-17 11:56:04 +02:00
Vladimir Rodionov acbc3a2253 HBASE-20530 Composition of backup directory containing namespace when restoring is different from the actual hfile location
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-05-16 14:21:20 -07:00
Sean Busbey 8ba2a7eeb9 HBASE-20544 Make HBTU default to random ports.
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Josh Elser <elserj@apache.org>
2018-05-09 23:35:20 -07:00
Michael Stack 4f2dfd3877 HBASE-20539 Disable IMC; part 2
Set default for in-memory compaction to NONE. PE was using
this value creating its table. Add test to ensure expected
default.
2018-05-09 06:30:28 -07:00
Mike Drob c51e9adc78 HBASE-20521 change getConf as first sequence instead of jobContext in TableOutputFormat.checkOutputSpec, add unit tests 2018-05-08 22:20:12 -05:00
Mike Drob 82e6fae1de Revert "change getConf as first sequence instead of jobContext in TableOutputFormat.checkOutputSpec, add unit tests"
This reverts commit b748ea3b0d.
2018-05-08 22:20:06 -05:00
michael.jin b748ea3b0d change getConf as first sequence instead of jobContext in TableOutputFormat.checkOutputSpec, add unit tests 2018-05-08 10:24:03 -05:00
Andrew Purtell 1825af45b3 HBASE-20505 PE should support multi column family read and write cases 2018-05-07 18:39:02 -07:00
Vasudevan 8e6ff689e8 HBASE-20523 PE tool should support configuring client side buffering sizes
(Ram)
2018-05-07 12:57:20 +05:30
Andrew Purtell 291dedbf81 HBASE-20513 Collect and emit ScanMetrics in PerformanceEvaluation 2018-05-04 17:59:12 -07:00
Andrew Purtell 78ffd7ace6 HBASE-20517 Fix PerformanceEvaluation 'column' parameter 2018-05-04 17:24:17 -07:00
Peter Somogyi c4ebf666b7 HBASE-20376 RowCounter and CellCounter documentations are incorrect 2018-04-12 10:00:38 +02:00
Balazs Meszaros eb40e6dfaa HBASE-20386 [DOC] Align WALPlayer help text and refguide 2018-04-11 09:32:55 -07:00
Yuki Tawara c7593d14a9 HBASE-20361 Non-successive TableInputSplits may wrongly be merged by auto balancing feature
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-04-08 10:58:23 -07:00
wellington f574fd4782 HBASE-20305 adding options to skip deletes/puts on target when running SyncTable
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-04-04 12:38:18 -07:00
Mike Drob d57001ee2d HBASE-20282 Clean up tooling docs/help 2018-03-30 08:59:47 -07:00
michael.jin 53b4507c79 HBASE-20295 fix NullPointException in TableOutputFormat.checkOutputSpecs
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-30 07:07:45 -07:00
Josh Elser 15c398f7d2 HBASE-20223 Update to hbase-thirdparty 2.1.0
Remove commons-cli and commons-collections4 use. Account
for the newer internal protobuf version of 3.5.1.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-03-26 22:05:19 -04:00
Jan Hentschel 64ccd2b295 HBASE-13300 Fixed casing in set/getTimeStamp for Mutations 2018-03-23 17:23:22 -07:00
Umesh Agashe c614b9f3e8 HBASE-20224 Web UI is broken in standalone mode
Changes for HBASE-20027 seem to cause UI not showing up on default port in standalone mode. For concurrent
unit test execution, individual tests can set hbase.localcluster.assign.random.ports to true or modify
test/resources/hbase-site.xml.
2018-03-22 20:27:39 -07:00
Michael Stack 5d1b2110d1
Revert "HBASE-20224 Web UI is broken in standalone mode"
Broke shell tests.

This reverts commit dd9fe813ec.
2018-03-22 10:57:42 -07:00
Umesh Agashe 4cb40e6d84 HBASE-20224 Web UI is broken in standalone mode
Changes for HBASE-20027 seem to cause UI not showing up on default port in standalone mode. For concurrent
unit test execution, individual tests can set hbase.localcluster.assign.random.ports to true or modify
test/resources/hbase-site.xml.
2018-03-22 06:52:20 -07:00
Chia-Ping Tsai a6eeb26cc0 HBASE-20212 Make all Public classes have InterfaceAudience category
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-22 18:10:23 +08:00
Chia-Ping Tsai 4f2133ee32 HBASE-20119 Introduce a pojo class to carry coprocessor information in order to make TableDescriptorBuilder accept multiple cp at once
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-16 01:21:38 +08:00
Mike Drob f63a7ff635 HBASE-20180 Avoid Class::newInstance 2018-03-14 13:15:05 -05:00
Vladimir Rodionov 4e821d4916 HBASE-17851: WAL to HFile conversion phase MUST detect and handle missing WAL files
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-08 15:28:27 -08:00
Sean Busbey 2a65066b35 HBASE-20070 refactor website generation
* rely on git plumbing commands when checking if we've built the site for a particular commit already
* switch to forcing '-e' for bash
* add command line switches for: path to hbase, working directory, and publishing
* only export JAVA/MAVEN HOME if they aren't already set.
* add some docs about assumptions
* Update javadoc plugin to consistently be version 3.0.0
* avoid duplicative site invocations on reactor modules
* update use of cp command so it works both on linux and mac
* manually skip enforcer plugin during build
* still doing install of all jars due to MJAVADOC-490, but then skip rebuilding during aggregate reports.
* avoid the pager on git-diff by teeing to a log file, which also helps later reviewing in the case of big changesets.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Misty Stanley-Jones <misty@apache.org>
2018-03-02 09:25:10 -06:00
Michael Stack 5b64de45ed HBASE-20110 Findbugs in zk and mr caused nightly #409 branch-2 to fail 2018-02-28 23:39:21 -08:00
Vladimir Rodionov 6cfa208add HBASE-17825: Backup further optimizations
Signed-off-by: Josh Elser <elserj@apache.org>
2018-02-28 09:14:15 -05:00
tedyu d3aefe7834 HBASE-20086 PE randomSeekScan fails with ClassNotFoundException 2018-02-26 18:29:35 -08:00
Mike Drob 5d994a24fc HBASE-20039 MR tests out to hbase-mapreduce mobile 2018-02-21 14:54:30 -06:00
Artem Ervits 2b1969898f HBASE-20023 CompactionTool command line examples are incorrect
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-20 08:13:12 -08:00
eshcar f3bb9b9613 HBASE-18294 Reduce global heap pressure: flush based on heap occupancy 2018-02-18 09:55:44 +02:00
tedyu 1c67d8a46f HBASE-19968 MapReduce test fails with NoClassDefFoundError against hadoop3 2018-02-12 09:54:00 -08:00
Michael Stack 0593dda663 HBASE-19951 Cleanup the explicit timeout value for test method 2018-02-10 09:24:31 -08:00
Chia-Ping Tsai 2f4d0b94bc HBASE-19720 Rename WALKey#getTabnename to WALKey#getTableName 2018-02-02 19:43:26 +08:00
zhangduo fc6d140adf HBASE-19904 Break dependency of WAL constructor on Replication 2018-02-02 14:10:29 +08:00
zhangduo 7c318cead9 HBASE-19887 Do not overwrite the surefire junit listener property in the pom of sub modules 2018-01-31 20:49:18 +08:00
zhangduo 918599ef12 HBASE-19873 Add a CategoryBasedTimeout ClassRule for all UTs 2018-01-29 08:43:56 +08:00
Mike Drob 548426edc0 HBASE-19853 Remove duplicate slf4j-api dep 2018-01-24 11:38:49 -06:00
Artem Ervits 11d6e6b1e6 HBASE-19829 hadoop-minicluster pulls zookeeper:test-jar:tests 3.4.6
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-19 15:18:22 -08:00
zhangduo d8d6ecdad1 HBASE-19792 TestReplicationSmallTests.testDisableEnable fails 2018-01-17 14:23:05 +08:00
zhangduo 71a1192d67 HBASE-19751 Use RegionInfo directly instead of an identifier and a namespace when getting WAL 2018-01-11 15:47:34 +08:00
zhangduo 368db315a6 HBASE-19687 Move the logic in ReplicationZKNodeCleaner to ReplicationChecker and remove ReplicationZKNodeCleanerChore 2018-01-09 13:11:01 +08:00
zhangduo 19707a85dd HBASE-19633 Clean up the replication queues in the postPeerModification stage when removing a peer 2018-01-09 13:11:01 +08:00
huzheng f89920a60f HBASE-19622 Reimplement ReplicationPeers with the new replication storage interface 2018-01-09 13:11:01 +08:00
Guanghao Zhang 65eb91f84e HBASE-19573 Rewrite ReplicationPeer with the new replication storage interface 2018-01-09 13:11:01 +08:00
Guangxu Cheng 7ddf79946d HBASE-19483 Add proper privilege check for rsgroup commands
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-08 19:48:37 -08:00
tedyu 5ce9351129 HBASE-19483 Add proper privilege check for rsgroup commands - revert due to pending review comment 2018-01-05 12:06:31 -08:00
Guangxu Cheng fc7736eb00 HBASE-19483 Add proper privilege check for rsgroup commands
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-05 11:18:07 -08:00
huzheng 5195435941 HBASE-18452 VerifyReplication by Snapshot should cache HDFS token before submit job for kerberos env 2018-01-04 13:55:27 +08:00
Chia-Ping Tsai 8119acfca7 HBASE-19596 RegionMetrics/ServerMetrics/ClusterMetrics should apply to all public classes 2018-01-04 13:13:34 +08:00
Michael Stack 4ba741674d
HBASE-19588 Additional jar dependencies needed for mapreduce
PerformanceEvaluation

Signed-off-by: Albert Chu <chu11@llnl.gov>
2018-01-03 21:39:37 -06:00
huzheng 6e136f26bf HBASE-18806 VerifyRep by snapshot need not to restore snapshot for each mapper 2018-01-04 10:10:03 +08:00
brandboat a21eb68f95 HBASE-8518 Get rid of hbase.hstore.compaction.complete setting
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-30 04:23:18 +08:00
Mike Drob c3b4f788b1 HBASE-19552 find-and-replace thirdparty offset 2017-12-28 11:52:32 -06:00
Mike Drob ea7d5fc884 HBASE-19552 Update hbase-thirdparty version
Some manual cleanup of changing package names in pom files and getting
rid of the no-longer-needed netty system property.

This commit will break compilation, package renames in source code are
done in follow-on commits using straightforward find and replace.

's/org.apache.hadoop.hbase.shaded.com.google/org.apache.hbase.thirdparty.com.google/'
's/org.apache.hadoop.hbase.shaded.io.netty/org.apache.hbase.thirdparty.io.netty/'
2017-12-28 11:41:42 -06:00
Chia-Ping Tsai 6b39062e86 HBASE-19628 ByteBufferCell should extend ExtendedCell 2017-12-27 22:26:40 +08:00
Vasudevan 467a4667d8 HBASE-19629 RawCell#getTags should return the Iterator<Tag> in order to avoid iterating through whole tag array at once
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-27 21:33:42 +08:00
Peter Somogyi 7145d98182 HBASE-19545 Replace getBytes(StandardCharsets.UTF_8) with Bytes.toBytes
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-27 20:07:25 +08:00
Balazs Meszaros f572c4b80e HBASE-10092 Move up on to log4j2
Changes:
- replaced commons-logging to slf4j everywhere
- log.XXX(Throwable) calls were replaced with log.XXX(t.toString(), t)
- log.XXX(Object) calls were replaced with log.XXX(Objects.toString(obj))
- log.fatal() calls were replaced with log.error(HBaseMarkers.FATAL, ...)
- programmatic log4j configuration was removed from the unit test

This commit does not affect the current logging configurations, because log4j
is still on the classpath. slf4j-log4j12 binds log4j to slf4j.

Signed-off-by: Michael Stack <stack@apache.org>
2017-12-20 22:21:33 -08:00
Xiang Li 5e7d16a3ce HBASE-15482 Provide an option to skip calculating block locations for SnapshotInputFormat
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-19 15:52:16 -08:00
Jan Hentschel f46a6d1637 HBASE-19540 Reduced number of unnecessary semicolons 2017-12-19 20:06:59 +01:00
Peter Somogyi abae90787f
HBASE-19549 Change path comparison in CommonFSUtils
Also change makeQualified(FileSystem fs)
to makeQualified(URI defaultUri, Path workingDir)

Signed-off-by: Michael Stack <stack@apache.org>
2017-12-18 15:27:39 -08:00
Michael Stack b4056d267a
HBASE-19122 Suspect methods on Cell to be deprecated 2017-12-18 15:20:44 -08:00
Mike Drob 75f512bd71 HBASE-18838 Fix hadoop3 check-shaded-invariants 2017-12-15 11:19:47 -06:00
Josh Elser 4a1c3b4210 HBASE-19267 Remove compiler-plugin mapping executions as it breaks Java8 detection
It seems like the original reason this execution filter was added is no
longer an issue for 2.0. Actually, these entries actually preclude
Eclipse from correctly using the Java8 source/target version that we
have specified (which creates numerous compilation errors in Eclipse)

Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-12-14 15:11:19 -05:00
BELUGA BEHR 536187446d HBASE-19472 Remove ArrayUtil Class
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-13 19:02:07 +08:00
Peter Somogyi 7e5f3a516c HBASE-19213 Align check and mutate operations in Table and AsyncTable
- Deprecates old checkAnd*() operations in Table
- Adds Table#CheckAndMutateBuilder and implements it in HTable

Commiter note: When committing the patch, noticed redundant {@inheritDoc} being added in HTable.
Removed new and olds ones.
2017-12-12 20:37:24 -08:00
Michael Stack a5a77ae3d5
HBASE-19134 Make WALKey an Interface; expose Read-Only version to CPs
Created a new WALKey Interface and a WALKeyImpl. The WALKey Interface
is surfaced to Coprocessors and throughout most of the code base.
WALKeyImpl is used internally by WAL and by Replication which need
access to WALKey setters.

Methods that were deprecated in WALObserver because they were exposing
Private audience Classes have been undeprecated now we have WALKey.

Moved over to use SequenceId#getSequenceId throughout. Changed
SequenceId#getSequenceId removing the IOE.
2017-12-08 15:12:31 -08:00
Michael Stack 66db0006eb
HBASE-19349 Introduce wrong version depencency of servlet-api jar
Move the hadoop-hdfs guava exclude in modules up to the top pom.
Looks like an exclude in a module is not additive but rather exclusive
blanking out the top level set of exclusions.

Tested by looking in lib dir of the built tarball.
2017-12-07 17:50:30 -08:00
Chia-Ping Tsai d2b1578b73 HBASE-19430 Remove the SettableTimestamp and SettableSequenceId 2017-12-07 13:28:02 +08:00
Andrew Purtell 3e7b90ac6d HBASE-19445 PerformanceEvaluation NPE processing split policy option 2017-12-06 14:11:41 -08:00
TAK LON WU eabad8a91c HBASE-19023 Replace hbase-server with hbase-mapreduce for HBase and MapReduce chapter
RowCounter and other related HBase's MapReduce classes have been moved
to hbase-mapreduce component by HBASE-18640, related chapter was
out-of-date and this fix replaced hbase-server with hbase-mapreduce
to correct those commands

Also this change moved RowCounter_Counters.properties to
hbase-mapreduce package as well

JIRA https://issues.apache.org/jira/browse/HBASE-19023

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-06 09:01:19 -08:00
zhangduo 75cdbb5700 HBASE-19410 Move zookeeper related UTs to hbase-zookeeper and mark them as ZKTests 2017-12-06 16:38:34 +08:00
Guangxu Cheng 6da52052ee HBASE-19432 Roll the specified writer in HFileOutputFormat2
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-05 22:26:42 -08:00
Chia-Ping Tsai fa9ab3955c HBASE-19408 Remove WALActionsListener.Base 2017-12-03 01:05:10 +08:00
tedyu b048207c8e HBASE-19355 Missing dependency on hbase-zookeeper module causes CopyTable to fail 2017-11-27 17:39:42 -08:00
Vasudevan 73e3af00e9 HBASE-19092 Make Tag IA.LimitedPrivate and expose for CPs (Ram) 2017-11-24 12:21:38 +05:30
Michael Stack b4fbf5fe18 HBASE-19299 Assert only one Connection is constructed when calculating splits in a MultiTableInputFormat
Adds a test suite that has one test in it. Does a bunch of mocking so
getSplits can run. Has counter in mocked Connection constructor so can
count how many Connections made during call to getSplits. Verified that
assert fails if more than one Connection made.
2017-11-18 16:04:27 -08:00
Apekshit Sharma 330b0d05b9 HBASE-19114 Split out o.a.h.h.zookeeper from hbase-server and hbase-client
- Moved DrainingServerTracker and RegionServerTracker to hbase-server:o.a.h.h.master.
- Moved SplitOrMergeTracker to oahh.master (because it depends on a PB)
- Moving hbase-client:oahh.zookeeper.*  to hbase-zookeeper module.  After HBASE-19200, hbase-client doesn't need them anymore (except 3 classes).
- Renamed some classes to use a consistent naming for classes - ZK instead of mix of ZK, Zk , ZooKeeper. Couldn't rename following public classes: MiniZooKeeperCluster, ZooKeeperConnectionException. Left RecoverableZooKeeper for lack of better name. (suggestions?)
- Sadly, can't move tests out because they depend on HBaseTestingUtility (which defeats part of the purpose - trimming down hbase-server tests. We need to promote more use of mocks in our tests)
2017-11-17 13:20:18 -08:00
zhangduo 54827cf613 HBASE-19251 Merge RawAsyncTable and AsyncTable 2017-11-16 14:36:28 +08:00
Michael Stack 797670b129
HBASE-19245 MultiTableInputFormatBase#getSplits creates a Connection per Table
We make one Connection only instead of a Connection per table (Change is
just moving one line it involves right-shifting body of the function)
2017-11-14 21:47:35 -08:00
Tamas Penzes 377174d3ef HBASE-18601: Update Htrace to 4.2
Updated HTrace version to 4.2
Created TraceUtil class to wrap htrace methods. Uses try with resources.

Signed-off-by: Balazs Meszaros <balazs.meszaros@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-11 10:34:03 -08:00
Mike Drob 2413a10e67 HBASE-19195 error-prone fixes for client, mr, and server 2017-11-08 12:15:25 -06:00
Mike Drob 9ee8e2714d HBASE-19160 expose CellComparator as IA.Public 2017-11-06 10:08:14 -06:00
Chia-Ping Tsai c463e9c840 HBASE-19185 ClassNotFoundException: com.fasterxml.jackson.* 2017-11-05 23:30:28 +08:00
Michael Stack f812218ffe
HBASE-19179 Remove hbase-prefix-tree 2017-11-04 10:11:13 -07:00
Josh Elser 53ec8bd648 HBASE-19156 Remove vestiges of an unused regions-per-server CLI argument
Signed-off-by: Ted Yu <tedyu@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-02 14:59:29 -04:00
Apekshit Sharma 71a55dcd64 HBASE-18925 Update mockito dependency from mockito-all:1.10.19 to mockito-core:2.1.0 for JDK8 support.
Last mockito-all release was in Dec'14. Mockito-core has had many releases since then.

From mockito's site:
- "Mockito does not produce the mockito-all artifact anymore ; this one was primarily
aimed at ant users, and contained other dependencies. We felt it was time to move on
and remove such artifacts as they cause problems in dependency management system like
maven or gradle."
- anyX() and any(SomeType.class) matchers now reject nulls and check type.
2017-11-01 14:21:38 -07:00
tedyu 6712f8f632 HBASE-18870 Hbase Backup should set the details to MR job name (Vishal Khandelwal) 2017-10-30 10:35:52 -07:00
Michael Stack f6c2490b82
HBASE-18995 Move methods that are for internal usage from CellUtil to Private util class (Ramkrishna Vasudevan) 2017-10-27 17:48:55 -07:00
Tamas Penzes 82b1c320f0 HBASE-13346: Clean up Filter package for post 1.0 s/KeyValue/Cell/g
Added filterCell method to Filter, it calls filterKeyValue by default
Deprecated filterKeyValue in Filter, bud added default functionality to return Filter.ReturnCode.INCLUDE.
Added filterKeyValue (calling filterCell) to Filters extending FilterBase to be backward compatible.
renamed filterKeyValue to filterCell in all implementations
changed all internal calls to use filterCell instead of filterKeyValue
changed tests too

This way the change is simple and backward compatible.
Any existing custom filter should work since they override filterKeyValue
and the implementation is called by Filter.filterCell.

Moved FilterWrapper to hbase-server

Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-10-27 11:16:13 +05:30
Chia-Ping Tsai 93bac3de0a HBASE-18754 Get rid of Writable from TimeRangeTracker 2017-10-24 14:54:34 +08:00
Mike Drob 5facaded90 HBASE-16338 Remove Jackson1 deps
* Change imports from org.codehaus to com.fasterxml
* Exclude transitive jackson1 from hadoop and others
* Minor test cleanup to add assert messages, fix some parameter order
* Add anti-pattern check for using jackson 1 imports
* Add explicit non-null serialization directive to ScannerModel
2017-10-20 09:20:12 -05:00
Ramkrishna 70f4c5da47 HBSE-18945 Make a IA.LimitedPrivate interface for CellComparator (Ram) 2017-10-17 23:17:07 +05:30
Yu Li be4570fc85 HBASE-19016 Coordinate storage policy property name for table schema and bulkload 2017-10-17 10:24:07 +08:00
Chia-Ping Tsai 240b4b16ff HBASE-18997 Remove the redundant methods in RegionInfo 2017-10-14 23:26:11 +08:00
Huaxiang Sun 9e7156ae68 HBASE-18355 Enable export snapshot tests that were disabled by Proc-V2 AM in HBASE-14614 2017-10-13 14:37:35 -07:00
Ramkrishna 0a24178d06 HBASE-18649 Deprecate KV Usage in MR to move to Cells in 3.0 (ram) 2017-10-04 16:00:28 +05:30
Yi Liang 16d483f900 HBASE-16894 Create more than 1 split per region, generalize HBASE-12590
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-10-03 17:11:06 -07:00
libisthanks 214d21994e HBASE-18814 Make ScanMetrics enabled and add counter <HBase Counters, ROWS_SCANNED> into the MapReduce Job over snapshot
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-10-02 18:25:18 -07:00
Chia-Ping Tsai 9f1bfbeaab HBASE-18753 Introduce the unsynchronized TimeRangeTracker 2017-10-01 21:45:03 +08:00
libisthanks 4aadc5d322 HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per region
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-09-30 02:08:42 -07:00
Ashu Pachauri 367dfabf06 Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region" due to wrong jira id.
This reverts commit f20580a530.
2017-09-30 01:44:39 -07:00
libisthanks f20580a530 HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-09-29 16:12:39 -07:00
zhangduo 239e687267 HBASE-18845 TestReplicationSmallTests fails after HBASE-14004 2017-09-29 14:32:26 +08:00
Andy Yang afce850cfd HBASE-13844 Move static helper methods from KeyValue into CellUtils
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-29 11:50:23 +08:00
Chia-Ping Tsai a11a35a113 HBASE-18839 Apply RegionInfo to code base 2017-09-28 20:19:29 +08:00
zhangduo 7f4c3b3564 HBASE-18826 Use HStore instead of Store in our own code base and remove unnecessary methods in Store interface 2017-09-28 15:26:52 +08:00
Apekshit Sharma 97513466c0 HBASE-17732 Coprocessor Design Improvements
------------------------------------------------------
TL;DR
------------------------------------------------------
We are moving from Inheritence
- Observer *is* Coprocessor
- FooService *is* CoprocessorService
To Composition
- Coprocessor *has* Observer
- Coprocessor *has* Service

------------------------------------------------------
Design Changes
------------------------------------------------------
- Adds four new interfaces - MasterCoprocessor, RegionCoprocessor, RegionServierCoprocessor,
  WALCoprocessor
- These new *Coprocessor interfaces have a get*Observer() function for each observer type
  supported by them.
- Added Coprocessor#getService() to base interface. All extending *Coprocessor interfaces will
  get it from the base interface.
- Added BulkLoadObserver hooks to RegionCoprocessorHost instad of SecureBulkLoadManager doing its
  own trickery.
- CoprocessorHost#find*() fuctions: Too many testing hooks digging into CP internals.
  Deleted if can, else marked @VisibleForTesting.

------------------------------------------------------
Backward Compatibility
------------------------------------------------------
- Old coprocessors implementing *Observer won't get loaded (no backward compatibility guarantees).
- Third party coprocessors only implementing Coprocessor will not get loaded (just like Observers).
- Old coprocessors implementing CoprocessorService (for master/region host)
  /SingletonCoprocessorService (for RegionServer host) will continue to work with 2.0.
- Added test to ensure backward compatibility of CoprocessorService/SingletonCoprocessorService
- Note that if a coprocessor implements both observer and service in same class, its service
  component will continue to work but it's observer component won't work.

------------------------------------------------------
Notes
------------------------------------------------------
Did a side-by-side comparison of CPs in master and after patch. These coprocessors which were just
CoprocessorService earlier, needed a home in some coprocessor in new design. For most it was clear
since they were using a particular type of environment. Some were tricky.

- JMXListener - MasterCoprocessor and RSCoprocessor (because jmx listener makes sense for
  processes?)
- RSGroupAdminEndpoint --> MasterCP
- VisibilityController -> MasterCP and RegionCP

These were converted to RegionCoprocessor because they were using RegionCoprocessorEnvironment
which can only come from a RegionCPHost.
- AggregateImplementation
- BaseRowProcessorEndpoint
- BulkDeleteEndpoint
- Export
- RefreshHFilesEndpoint
- RowCountEndpoint
- MultiRowMutationEndpoint
- SecureBulkLoadEndpoint
- TokenProvider

Change-Id: I813145f2bc11815f52ac703563b879962c249764
2017-09-27 12:40:25 -07:00
anoopsamjohn bd68551f26 HBASE-18298 RegionServerServices Interface cleanup for CP expose. 2017-09-27 11:01:51 +05:30
shaofengshi 843917c525 HBASE-18885 HFileOutputFormat2 hardcodes default FileOutputCommitter
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-26 19:58:11 -07:00
zhangduo a5f84430a3 HBASE-18825 Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface 2017-09-25 09:35:39 +08:00
Umesh Agashe 34d648808d
HBASE-18832 Fixed LTT, removed references to deprecated HColumnDescriptor
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-18 12:38:02 -07:00
Yi Liang e10d7836ed
HBASE-18803: Mapreduce job get failed caused by NoClassDefFoundError: org/apache/commons/lang3/ArrayUtils
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-18 12:34:55 -07:00
zhangduo 61d10feffa HBASE-18453 CompactionRequest should not be exposed to user directly 2017-09-14 20:37:33 +08:00
Michael Stack 780be085ed HBASE-14998 Unify synchronous and asynchronous methods in Admin and cleanup
This is based on patch sent me by Balazs Meszaros. The good stuff in
here is from him. This patch does less than his ambition. It changes
Admin class only. Can work on making AsyncAdmin cohere in a follow-on.

 * Deprecates getAlterStatus. Everywhere else we talk of 'modify' rather
   'alter' and should use Future returned from async instead.
 * isTableAvailable(TableName, byte [][]) has been deprecated to be
   removed; use the overrie instead. This is a weird method.
 * Changed listTableDescriptor to getDescriptor.
 * Renamed other like methods to have same pattern (deprecating the old):
    balancer => balance
    setBalancerRunning => balancerSwitch
    setNormalizerRunning => normalizerSwitch
    enableCatalogJanitor => catalogJanitorSwitch
    setCleanerChoreRunning => cleanerChoreSwitch
    setSplitOrMergeEnabled => splitOrMergeEnabledSwitch

 * Renamed (with deprecation of old) runCatalogScan => runCatalogJanitor.
 * Reviewed generated javadoc and made some edits; purged reference to
   hbase issues from our API, fixed param names, etc.
 * Made all the enable services methods have same pattern.
 * Renamed takeSnapshotAsync as snapshotAsync (with deprecation of old)
 * Renamed execProcedureWithRet as execProcedureWithReturn (with
   deprecation)

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-13 17:19:25 -07:00
Sean Busbey 4b124913f0 HBASE-17823 Migrate to Apache Yetus Audience Annotations
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Misty Stanley-Jones <misty@apache.org>
2017-09-12 20:53:30 -05:00
Michael Stack d6db4a2d3d HBASE-16479 Move WALEdit from hbase.regionserver.wal package to hbase.wal package 2017-09-11 14:43:00 -07:00
Michael Stack b8e0a8396f HBASE-18769 Make CompareFilter use generic CompareOperator instead of
internal enum
2017-09-08 10:06:56 -07:00
Umesh Agashe 5d60123f3e HBASE-18674 upgrading to commons-lang3
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-05 09:46:10 -07:00
Chun-Hao Tang bea5de02b3 HBASE-18746 Throw exception with job.getStatus().getFailureInfo() when ExportSnapshot fails
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-05 01:54:29 +08:00
Michael Stack 0e95a8a0ae HBASE-18723 [pom cleanup] Do a pass with dependency:analyze; remove unused and explicity list the dependencies we exploit; ADDENDUM
Addendum addresses holes found running HBASE-18674 against hadoopqa.
2017-09-03 15:42:59 -07:00
zhangduo 9e53f2927b HBASE-18699 Copy LoadIncrementalHFiles to another package and mark the old one as deprecated 2017-09-03 19:49:42 +08:00
Michael Stack fb537fe736 HBASE-18723 [pom cleanup] Do a pass with dependency:analyze; remove unused and explicity list the dependencies we exploit
Do a pass with dependency:analyze; remove unused and
explicity list the dependencies we exploit.
Remove the parent dependencies set which had junit, mockito,
log4j, and findbugs annotations (had to put junit back
temporarily in subsequent version of this patch TODO). Listing in
parent set meant these libs were dependencies for all modules
which in practice was not the case. Edited all modules so
those that need any from this parent set now do explicit listing.

Ran the dependency:analyze over the project. Acted on most
suggested removals and requests for explicit listing. Some
grey areas remain around transitives that come in with
hadoop -needs better excludes, another project- and that
the dependency:analyze tool is not always accurate in its
reporting.
2017-08-31 12:41:31 -07:00
Chia-Ping Tsai 7465973068 HBASE-15806 An endpoint-based export tool 2017-08-30 14:06:04 +08:00
Michael Stack 8c9087e6c5 HBASE-18698 MapreduceDependencyClasspathTool does not include hbase-server as a dependency
Move Driver to be the main-class in hbase-mapreduce jar rather than
in the hbase-server jar.

Reference the hbase-server and shaded protobuf so they get bundled
when you do 'hbase mapredcp'.
2017-08-29 13:09:57 -07:00
Michael Stack 47a5614edd Revert "HBASE-18674 upgrading to commons-lang3"
Premature push

This reverts commit 5dacc85122.
2017-08-28 16:41:34 -07:00
Umesh Agashe 5dacc85122 HBASE-18674 upgrading to commons-lang3 2017-08-28 15:57:12 -07:00
Apekshit Sharma 664b6be0ef HBASE-18640 Move mapreduce out of hbase-server into separate module.
- Moves out o.a.h.h.{mapred, mapreduce} to new hbase-mapreduce module which depends
  on hbase-server because of classes like *Snapshot{Input,Output}Format.java, WALs, replication, etc
- hbase-backup depends on it for WALPlayer and MR job stuff
- A bunch of tools needed to be pulled into hbase-mapreduce becuase of their dependencies on MR.
  These are: CompactionTool, LoadTestTool, PerformanceEvaluation, ExportSnapshot
  This is better place of them than hbase-server. But ideal place would be in separate hbase-tools module.
- There were some tests in hbase-server which were digging into these tools for static util funtions or
  confs. Moved these to better/easily shared place. For eg. security related stuff to HBaseKerberosUtils.
- Note that hbase-mapreduce has secondPartExecution tests. On my machine they took like 20 min, so maybe
  more on apache jenkins. That's basically equal reduction of runtime of hbase-server tests, which is a
  big win!

Change-Id: Ieeb7235014717ca83ee5cb13b2a27fddfa6838e8
2017-08-25 18:38:48 -07:00