Commit Graph

1351 Commits

Author SHA1 Message Date
Jan Hentschel 6cff25cc23
HBASE-22344 Documented the deprecation of public and limited private APIs (#208)
Signed-off-by: stack <stack@apache.org>
2019-06-17 22:29:51 +02:00
Murtaza Hassan a2b22a6807
HBASE-22565 Javadoc Warnings: @see cannot be used in inline documentation 2019-06-13 23:14:58 +02:00
Sakthi 38139350a3 HBASE-22458: TestClassFinder fails when run on JDK11
Signed-off-by: Sean Busbey <busbey@apache.org>
(cherry picked from commit 0445186f1a)
2019-06-13 09:02:20 -05:00
Sakthi 35d3612f66 HBASE-22534 TestCellUtil fails when run on JDK11
Signed-off-by: Sean Busbey <busbey@apache.org>
(cherry picked from commit 9b23e1d00c)
2019-06-04 14:51:20 -05:00
Duo Zhang 1a2632b796 HBASE-22316 Record the stack trace for current thread in FutureUtils.get 2019-05-30 11:27:43 +08:00
Wellington Chevreuil ea41133e44 HBASE-22496 UnsafeAccess.unsafeCopy should not copy more than UNSAFE_COPY_THRESHOLD on each iteration
Change-Id: I259bc54a0a5b3474d3c455639c3e9cb1e95c8438

Signed-off-by: huzheng <openinx@gmail.com>
2019-05-30 10:21:43 +08:00
Artem Ervits e9e680f3d1 HBASE-22469 replace md5 checksum in saveVersion script with sha512
Signed-off-by: Josh Elser <elserj@apache.org>
2019-05-28 15:06:37 -04:00
Sean Busbey 16f18d5c2d HBASE-22148 Provide a LimitedPrivate(COPROC) API for setting Cell timestamp without copying.
Signed-off-by: Josh Elser <elserj@apache.org>
2019-05-28 12:18:48 -05:00
Andrew Purtell 2c55bd9344
HBASE-22449 https everywhere in Maven metadata (#247) 2019-05-21 12:38:42 -07:00
OrDTesters b585dc42ba HBASE-21467 Fix flaky test TestCoprocessorClassLoader.testCleanupOldJars 2019-05-06 09:45:51 -07:00
Peter Somogyi 32462d5690 HBASE-22340 Corrupt KeyValue is silently ignored (#207) 2019-05-02 11:22:05 +02:00
Sakthi 018dadc3c1 HBASE-22054: Space Quota: Compaction is not working for super user in case of NO_WRITES_COMPACTIONS
Signed-off-by: Josh Elser <elserj@apache.org>
2019-04-30 13:41:08 -04:00
Sean Busbey 4862a596ef HBASE-22083 move eclipse settings into a profile.
Signed-off-by: stack <stack@apache.org>

 Conflicts:
	hbase-backup/pom.xml
	hbase-hadoop-compat/pom.xml
	hbase-protocol/pom.xml
2019-04-25 14:38:38 -05:00
Duo Zhang b117d5b4c2 HBASE-22307 Deprecated Preemptive Fail Fast 2019-04-25 14:20:49 +08:00
李小保 1bd5b5cf7b HBASE-22250 The same constants used in many places should be placed in constant classes
Signed-off-by: stack <stack@apache.org>
2019-04-23 21:24:46 -07:00
zouxiangwen 4138fce370 HBASE-22292 PreemptiveFastFailInterceptor clean repeatedFailuresMap issue
Signed-off-by: stack <stack@apache.org>
2019-04-23 08:02:48 -07:00
Jan Hentschel c40e6e2339 HBASE-22231 Removed unused and '*' import 2019-04-23 12:53:52 +02:00
Ben Manes cadf321d53
HBASE-15560 W-TinyLFU based BlockCache
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2019-04-17 11:10:55 -07:00
Andrew Purtell f3532e4c26
HBASE-22235 OperationStatus.{SUCCESS|FAILURE|NOT_RUN} are not visible to 3rd party coprocessors 2019-04-16 13:19:56 -07:00
Vladimir Rodionov ae4bfabeaa HBASE-21688 Address WAL filesystem issues
Amending-Author: Josh Elser <elserj@apache.org>
Signed-off-by: Josh Elser <elserj@apache.org>
2019-04-03 13:55:48 -04:00
subrat.mishra a01c8e1dd6 HBASE-22053 Changed zookeeper URL from http://hadoop.apache.org to https://zookeeper.apache.org Replaced version 3.1.1 with 3.3.3 as 3.1.1 is deprecated.
Signed-off-by: Toshihiro Suzuki <brfrn169@gmail.com>
2019-03-28 00:31:24 +09:00
Geoffrey Jacoby 2c58dc503b
HBASE-22032 KeyValue validation should check for null byte array
Signed-off-by: Andrew Purtell <apurtell@apache.org>

Conflicts:
	hbase-common/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java
2019-03-15 12:45:46 -07:00
Sean Busbey d2296a4bad HBASE-22044 Addendum for checkstyle. 2019-03-13 13:43:39 -05:00
Sean Busbey 09f9fc7c3e HBASE-22044 Deprecate ByteBufferUtils; it will be IA.Private in HBase 3.0
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2019-03-13 13:39:44 -05:00
zhangduo 31b3716e84 HBASE-22001 Polish the Admin interface
Signed-off-by: stack <stack@apache.org>
2019-03-11 14:43:12 +08:00
Sean Busbey 32631f18f5 HBASE-21999 ADDENDUM unknown revisions are okay; make sure we indicate them.
(cherry picked from commit a7bbff170a)
2019-03-07 13:38:55 -06:00
ramkrishna 82618c439d HBASE-21874 Bucket cache on Persistent memory
Signed-off-by: Anoop John <anoop.hbase@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
(cherry picked from commit f67f207965)
2019-03-07 08:53:31 -06:00
Sean Busbey a5c26653f9 Revert "HBASE-21874 Bucket cache on Persistent memory"
This reverts commit f67f207965.

bad signed off by line
2019-03-07 08:52:13 -06:00
ramkrishna f67f207965 HBASE-21874 Bucket cache on Persistent memory
Signed-off-by: Anoop John <anoop.hbase@gmail.com>, Sean Busbey
<busbey@apache.org>
2019-03-07 10:52:18 +05:30
stack 41be1fbd8b HBASE-21999 [DEBUG] Exit if git returns empty revision! 2019-03-06 16:45:55 -08:00
Reid Chan 6de61d6bee HBASE-21481 [acl] Superuser's permissions should not be granted or revoked by any non-su global admin
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-03-01 23:42:11 +08:00
Duo Zhang 761aef6d9d HBASE-20587 Replace Jackson with shaded thirdparty gson
Signed-off-by: Michael Stack <stack@apache.org>
2019-02-22 16:40:45 +08:00
zhangduo f198311556 HBASE-21928 Deprecated HConstants.META_QOS
Signed-off-by: Zheng Hu <openinx@gmail.com>
2019-02-20 14:16:54 +08:00
Duo Zhang dec5bf3087 HBASE-21900 Infinite loop in AsyncMetaRegionLocator if we can not get the location for meta
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-02-14 19:50:23 +08:00
Peter Somogyi a33cda4b03 HBASE-21727 Simplify documentation around client timeout - ADDENDUM
Add back HBaseConfiguration#getInt with deprecation

Signed-off-by: zhangduo <zhangduo@apache.org>
2019-02-05 18:01:00 +08:00
zhangduo 54a8cc87c6 HBASE-21829 Use FutureUtils.addListener instead of calling whenComplete directly 2019-02-03 15:29:20 +08:00
Guanghao Zhang 16665b6e93 HBASE-21799 Update branch-2 version to 2.3.0-SNAPSHOT 2019-01-29 21:53:21 +08:00
Wellington Chevreuil aae52f787c HBASE-20215 - Rename CollectionUtils to ConcurrentMapUtils 2019-01-24 20:55:55 -08:00
zhangduo 67ba050fce HBASE-21761 Align the methods in RegionLocator and AsyncTableRegionLocator
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-01-24 15:21:26 +08:00
Allan Yang d80556ec85 HBASE-21754 ReportRegionStateTransitionRequest should be executed in priority executor 2019-01-23 21:08:13 +08:00
huzheng 4eba6b3656 HBASE-21750 Most of KeyValueUtil#length can be replaced by cell#getSerializedSize for better performance because the latter one has been optimized 2019-01-22 20:21:49 +08:00
Duo Zhang ff272e8683 HBASE-21726 Add getAllRegionLocations method to AsyncTableRegionLocator 2019-01-19 11:14:40 +08:00
Peter Somogyi c353d93f69 HBASE-21727 Simplify documentation around client timeout
Signed-off-by: Michael Stack <stack@apache.org>
2019-01-16 11:41:40 +01:00
huzheng fdfbd9a21c HBASE-21657 PrivateCellUtil#estimatedSerializedSizeOf has been the bottleneck in 100% scan case 2019-01-16 09:47:27 +08:00
Jingyun Tian f02ac310d2 HBASE-21588 Procedure v2 wal splitting implementation 2019-01-08 17:26:58 +08:00
zhangduo 77ca660389 HBASE-17356 Add replica get support 2019-01-03 08:38:53 +08:00
Ted Yu fe27709e0c HBASE-20136 TestKeyValue misses ClassRule and Category annotations 2018-12-23 10:17:55 -08:00
huzheng 46ba4591a4 HBASE-21401 Sanity check when constructing the KeyValue 2018-12-21 18:50:27 +08:00
Reid Chan 6ab0fbb1f1 HBASE-21255 [acl] Refactor TablePermission into three classes (Global, Namespace, Table)
Signed-off-by: Michael Stack <stack@apache.org>
2018-11-15 11:45:24 +08:00
huzheng a765859131 HBASE-21473 RowIndexSeekerV1 may return cell with extra two \x00\x00 bytes which has no tags 2018-11-14 23:13:04 +08:00
huzheng 98ad5ca6e5 Revert "HBASE-21401 Sanity check in BaseDecoder#parseCell"
This reverts commit b6d32e8a10.
2018-11-12 11:42:04 +08:00
huzheng b6d32e8a10 HBASE-21401 Sanity check in BaseDecoder#parseCell 2018-11-08 20:14:03 +08:00
zhangduo 4f22397ad4 HBASE-21351 The force update thread may have race with PE worker when the procedure is rolling back 2018-11-03 08:24:25 +08:00
Allan Yang ca1b5503e1
HBASE-21292 IdLock.getLockEntry() may hang if interrupted 2018-10-18 14:41:42 -07:00
Sahil Aggarwal ad6ca7c95a
HBASE-20716: Changes the bytes[] conversion done in Bytes and ByteBufferUtils. Instead of doing check unsafe_aligned available everytime, choose the best converter at startup. 2018-10-17 21:04:09 -07:00
Michael Stack c67f7f14e2
HBASE-21320 [canary] Cleanup of usage and add commentary
Signed-off-by: Peter Somogyi <psomogyi@cloudera.com>
2018-10-16 22:19:34 -07:00
Zephyr Guo 2b1716fd8e HBASE-21256 Improve IntegrationTestBigLinkedList for testing huge data
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-10-12 11:00:03 +08:00
Mike Drob 302b77697a
HBASE-20764 build broken when latest commit is gpg signed
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-10-08 19:50:39 -05:00
zhangduo 51854a41fc HBASE-21227 Implement exponential retrying backoff for Assign/UnassignRegionHandler introduced in HBASE-21217 2018-09-26 20:54:06 +08:00
Zach York 21fafbaf53 HBASE-20734 Colocate recovered edits directory with hbase.wal.dir
Amending-Author: Reid Chan <reidchan@apache.org>
Signed-off-by: Reid Chan <reidchan@apache.org>
2018-09-26 11:49:21 +08:00
Mingliang Liu 0f514ab75a
HBASE-21164 reportForDuty should do backoff rather than retry
Remove unused methods from Sleeper (its ok, its @Private).
Remove notion of startTime from Sleeper handling (it is is unused).
Allow passing in how long to sleep so can maintain externally.
In HRS, use a RetryCounter to calculate backoff sleep time for when
reportForDuty is failing against a struggling Master.
2018-09-25 11:32:15 -07:00
Chia-Ping Tsai df5310fc1e HBASE-21208 Bytes#toShort doesn't work without unsafe
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
Signed-off-by: Reid Chan <reidchan@apache.org>
2018-09-25 10:27:08 +08:00
Michael Stack 6616fd2e0f HBASE-21191 Add a holding-pattern if no assign for meta or namespace (Can happen if masterprocwals have been cleared).
Add a check for hbase:meta being online before we go to read it.
If not online, move into a holding-pattern until rectified, probably
by external operator.

Incorporates bulk of patch made by Allan Yang over on HBASE-21035.

M hbase-common/src/main/java/org/apache/hadoop/hbase/util/RetryCounterFactory.java

 Add a Constructor for case where retries are for ever.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
 Move stuff around so that the first hbase:meta read is the AM#loadMeta.
 Previously, checking table state and/or favored nodes could end up
 trying to read a meta that was not onlined holding up master startup.
 Do similar for the namespace table. Adds new methods isMeta and
 isNamespace which check that the regions/tables are online.. if not,
 we wait logging with a back-off that assigns need to be run.

Signed-off-by: Allan Yang <allan163@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2018-09-16 21:43:48 -07:00
Tyler Mi d40348e8cd HBASE-21098 Improve Snapshot Performance with Temporary Snapshot Directory when rootDir on S3
Signed-off-by: Zach York <zyork@apache.org>
Signed-off-by: Mingliang Liu <liuml07@apache.org>
2018-09-11 16:31:56 -07:00
Allan Yang 737ac48473
HBASE-21083 Introduce a mechanism to bypass the execution of a stuck procedure 2018-08-28 20:19:55 -07:00
Umesh Agashe cdf5cfa396 HBASE-20941 Created and implemented HbckService in master
Added API setTableStateInMeta() to update table state only in Meta. This will be used by hbck2 tool.
2018-08-27 12:10:33 -07:00
brandboat fb9aa8a95a HBASE-18201 add UT and docs for DataBlockEncodingTool
Signed-off-by: Reid Chan <reidchan@apache.org>
2018-08-10 11:16:36 +08:00
Reid Chan e14b60a539 HBASE-20886 [Auth] Support keytab login in hbase client
Signed-off-by: Sean Busbey <busbey@apache.org>
2018-07-31 11:10:34 +08:00
Alex Leblang ab18440107
HBASE-19369 Switch to Builder Pattern In WAL
This patch switches to the builder pattern by adding a helper method.
It also checks to ensure that the pattern is available (i.e. that
HBase is running on a hadoop version that supports it).

Amending-Author: Mike Drob <mdrob@apache.org>
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: zhangduo <zhangduo@apache.org>
2018-07-27 23:42:53 -05:00
zhangduo 51b0d0edd0 HBASE-20939 There will be race when we call suspendIfNotReady and then throw ProcedureSuspendedException 2018-07-27 21:25:22 +08:00
Xu Cang 1e167e4e2e HBASE-20928 Rewrite calculation of midpoint - addemdum
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-07-25 10:01:56 -07:00
Saurabh Singh 097ae55708 HBASE-20928 Rewrite calculation of midpoint in binarySearch functions to prevent overflow
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-07-24 08:17:16 -07:00
Michael Stack 810473b277 HBASE-20914 Trim Master memory usage
Add (weak reference) interning of ServerNames.

Correct Balancer regions x racks matrix.

Make smaller defaults when creating ArrayDeques.
2018-07-20 10:08:37 -07:00
Mohit Goel 35a3c605f2 HBASE-6028 Start/Stop compactions at region server level
Add switching on/off of compactions.

Switching off compactions will also interrupt any currently ongoing compactions.
Adds a "compaction_switch" to hbase shell. Switching off compactions will
interrupt any currently ongoing compactions. State set from shell will be
lost on restart. To persist the changes across region servers modify
hbase.regionserver.compaction.enabled in hbase-site.xml and restart.

Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-07-19 06:20:12 -07:00
Mike Drob 2a9162a503
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 13:00:23 -05:00
Yu Li 492c0fcd2e HBASE-20838 Include hbase-server in precommit test if CommonFSUtils is changed 2018-07-12 10:17:38 +08:00
Mike Drob 573fa74cba HBASE-20862 Restore HConstants for compatibility
Signed-off-by: zhangduo <zhangduo@apache.org>
2018-07-10 15:43:44 +08:00
Yu Li 4653d4ac6b HBASE-20691 Change the default WAL storage policy back to "NONE""
This reverts commit 564c193d61 and added more doc
about why we choose "NONE" as the default.
2018-07-04 13:45:16 +08:00
Pankaj a16e5523fc HBASE-20357 AccessControlClient API Enhancement
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-06-29 07:54:14 -07:00
Xu Cang 58ccd3dc7e HBASE-19722 Meta query statistics metrics source
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-06-28 17:17:20 -07:00
Sahil Aggarwal e61507b9a0
HBASE-19164: Remove UUID.randomUUID in tests.
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-06-27 10:36:48 -05:00
Ankit Singhal 73601293fc HBASE-20795 Allow option in BBKVComparator.compare to do comparison without sequence id
Signed-off-by: Michael Stack <stack@apache.org>
2018-06-26 16:47:45 -07:00
zhangduo dde042cc93 HBASE-20776 Update branch-2 version to 2.2.0-SNAPSHOT 2018-06-22 22:15:18 +08:00
Sean Busbey ee84a8f243 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

 Conflicts:
	hbase-backup/pom.xml
	hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml

Signed-off-by: Mike Drob <mdrob@apache.org>
2018-06-18 14:02:48 -07:00
Mike Drob b04c976fe6 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-06-18 14:02:40 -07:00
Balazs Meszaros d44e8a7aff HBASE-20656 Validate pre-2.0 coprocessors against HBase 2.0+
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-06-11 10:32:40 -05:00
Mike Drob 4b0bbd839e HBASE-20707 Move MissingSwitchDefault case check
Perform this check using error-prone instead of checkstyle because the
former can handle enum switches somewhat more intelligently.
2018-06-11 10:13:29 -05:00
Sean Busbey fc9743c17a HBASE-20444 Addendum keep folks from looking at raw version component array.
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-05-31 14:17:41 -05:00
maoling fb584f9cf5 HBASE-20444 Improve comparison logic for HBase version strings
Signed-off-by: Sean Busbey <busbey@apache.org>
2018-05-30 09:46:52 -05:00
Guanghao Zhang bfab1e2f92 HBASE-20589 Don't need to assign meta to a new RS when standby master become active 2018-05-24 11:45:59 +08:00
Michael Stack afddf6b1c2 HBASE-20620 HBASE-20564 Tighter ByteBufferKeyValue Cell Comparator; part 2
Adds new stripped-down, faster ByteBufferKeyValue comparator
(BBKV is the base Cell-type in hbase2). Creates an instance
of new Comparator each time we create new memstore rather
than use the universal CellComparator.

Remove unused and unneeded Interfaces from Cell base type.
2018-05-23 13:20:29 -07:00
Michael Stack 34c458c12e HBASE-20564 Tighter ByteBufferKeyValue Cell Comparator; ADDENDUM2 Add a Test
Run meta tests but using our new basis, the ByteBufferKeyValue
instead of the old byte array-backed KeyValue so we catch any
oddness in the Type processing or in the Comparator.
2018-05-16 12:55:50 -07:00
Balazs Meszaros 39ea1efa88 HBASE-20571 JMXJsonServlet generates invalid JSON if it has NaN in metrics
- CacheStats won't generate NaN metrics.
- JSONBean class will serialize special floating point values as
  "NaN", "Infinity" or "-Infinity"

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-05-16 12:20:37 -07:00
Michael Stack 77eaff0e10
HBASE-20564 Tighter ByteBufferKeyValue Cell Comparator; ADDENDUM
Add method the CellComparator Interface. Add implementation to
meta comparator so we don't fall back to the default comparator.

Includes a nothing change to hbase-server/pom.xml just to provoke
build.
2018-05-16 09:42:51 -07:00
Michael Stack a739f80893 HBASE-20564 Tighter ByteBufferKeyValue Cell Comparator
Make a purposed comparator for the new ByteBufferKeyValue
base type. Cache deserialized sizes rather than recalc each time.
2018-05-14 15:18:00 +01:00
Michael Stack 7c41827559 HBASE-20506 Add doc and test for unused RetryCounter, useful-looking utility 2018-05-01 07:00:51 -07:00
Lars Hofhansl 42d2445cf5
HBASE-20459 Majority of scan CPU time in HBase-1 spent in size estimation 2018-04-21 20:07:22 -07:00
Sean Busbey 24eb141bac HBASE-20442 clean up incorrect use of commons-collections 3
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Yu Li <liyu@apache.org>

 Conflicts:
	hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/BackupLogCleaner.java
2018-04-20 08:17:22 -05:00
Sean Busbey 9740168fa8 HBASE-20440 Clean up incorrect use of commons-lang 2.y
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Yu Li <liyu@apache.org>

 Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierFactoryImpl.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/FileArchiverNotifierImpl.java
2018-04-20 08:17:22 -05:00
Umesh Agashe 3ac0ffde4c HBASE-18792 Disabled destructive (mostly write) operations in hbck for HBase 2.0+
HBase server versioned is checked after connecting to the server and then following operations are not allowed:
-fix, -fixAssignments, -fixMeta, -fixHdfsHoles, -fixHdfsOrphans, -fixTableOrphans, -fixHdfsOverlaps, -maxMerge
-sidelineBigOverlaps, -maxOverlapsToSideline, -fixSplitParents, -removeParents, -fixEmptyMetaCells
-repair, -repairHoles
2018-04-18 15:22:03 -07:00