2013-10-31 16:22:59,850 INFO platform.PlatformRunner (PlatformRunner.java:getPlatformClassesFromClasspath(187)) - found 1 test platforms from classpath
2013-10-31 16:22:59,869 INFO platform.PlatformRunner (PlatformRunner.java:addPlatform(237)) - installing platform: hadoop
2013-10-31 16:22:59,869 INFO platform.PlatformRunner (PlatformRunner.java:addPlatform(238)) - running test: cascading.TypedFieldedPipesPlatformTest
2013-10-31 16:22:59,890 INFO hadoop.HadoopPlatform (HadoopPlatform.java:setUp(112)) - not using cluster
2013-10-31 16:23:00,236 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,237 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,247 INFO property.AppProps (AppProps.java:getAppID(162)) - using app.id: D02E4345691E42229EBCD96211B9CCD9
2013-10-31 16:23:00,288 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testHashJoinIncomparableTypes
2013-10-31 16:23:00,317 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,318 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,329 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testCoGroupIncomparableTypes
2013-10-31 16:23:00,352 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,353 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,450 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testCoGroupComparableTypes
2013-10-31 16:23:00,471 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,472 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,482 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testCoGroupIncomparableTypesDeclared
2013-10-31 16:23:00,501 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,502 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,524 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testCoGroupComparableTypesDeclared
2013-10-31 16:23:00,543 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,544 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,566 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testHashJoinComparableTypes
2013-10-31 16:23:00,584 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,585 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,605 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testGroupByComparableTypes
2013-10-31 16:23:00,622 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,623 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,631 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testHashJoinIncomparableTypesDeclared
2013-10-31 16:23:00,649 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,649 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,668 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testHashJoinComparableTypesDeclared
2013-10-31 16:23:00,685 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,685 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,691 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testMergeIncomparableTypes
2013-10-31 16:23:00,880 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:00,880 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:00,935 INFO util.Version (Version.java:printBanner(78)) - Concurrent, Inc - Cascading 2.2.0
2013-10-31 16:23:00,936 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] starting
2013-10-31 16:23:00,937 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] source: Hfs["TextDelimited[['ip', 'client', 'user', 'date', 'request', 'code', 'bytes', 'referrer', 'agent', 'na' | String, String, String, Long, String, int, long, String, String, String]]"]["/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt"]
2013-10-31 16:23:00,937 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] source: Hfs["TextDelimited[['ip', 'client', 'user', 'date', 'request', 'code', 'bytes', 'referrer', 'agent', 'na' | String, String, String, DateType{dateFormatString='dd/MMM/yyyy:HH:mm:ss Z'}, String, int, long, String, String, String]]"]["/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt"]
2013-10-31 16:23:00,937 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] sink: Hfs["TextDelimited[['ip', 'client', 'user', 'date', 'request', 'code', 'bytes', 'referrer', 'agent', 'na', 10:19 | String, String, String, DateType{dateFormatString='dd/MMM/yyyy:HH:mm:ss Z'}, String, int, long, String, String, String, String, String, String, Long, String, int, long, String, String, String]]"]["/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output/hadoop/typedfieldedpipesplatform/testFieldTypeCheck"]
2013-10-31 16:23:00,937 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] parallel execution is enabled: false
2013-10-31 16:23:00,938 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] starting jobs: 1
2013-10-31 16:23:00,938 INFO flow.Flow (BaseFlow.java:logInfo(1306)) - [] allocating threads: 1
2013-10-31 16:23:00,939 INFO flow.FlowStep (BaseFlowStep.java:logInfo(742)) - [] starting step: (1/1) ...atform/testFieldTypeCheck
2013-10-31 16:23:00,963 WARN util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(52)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2013-10-31 16:23:00,968 INFO mapred.JobClient (JobClient.java:setNumTasksBasedOnClusterCapacity(825)) - Default number of map tasks: 1
2013-10-31 16:23:00,968 INFO mapred.JobClient (JobClient.java:setNumTasksBasedOnClusterCapacity(832)) - Default number of reduce tasks: 1
2013-10-31 16:23:00,987 INFO security.ShellBasedUnixGroupsMapping (ShellBasedUnixGroupsMapping.java:getUnixGroups(89)) - add hadoop to shell userGroupsCache
2013-10-31 16:23:00,990 INFO mapred.JobClient (JobClient.java:copyAndConfigureFiles(794)) - Setting group to hadoop
2013-10-31 16:23:01,000 WARN snappy.LoadSnappy (LoadSnappy.java:<clinit>(46)) - Snappy native library not loaded
2013-10-31 16:23:01,004 INFO mapred.FileInputFormat (FileInputFormat.java:listStatus(199)) - Total input paths to process : 1
2013-10-31 16:23:01,010 INFO mapred.FileInputFormat (FileInputFormat.java:listStatus(199)) - Total input paths to process : 1
2013-10-31 16:23:01,184 INFO flow.FlowStep (BaseFlowStep.java:logInfo(742)) - [] submitted hadoop job: job_local_0001
2013-10-31 16:23:01,229 INFO mapred.MapTask (MapTask.java:run(352)) - Host name: ip-10-5-128-102.ec2.internal
2013-10-31 16:23:01,239 INFO util.ProcessTree (ProcessTree.java:isSetsidSupported(63)) - setsid exited with exit code 0
2013-10-31 16:23:01,245 INFO mapred.Task (Task.java:initialize(534)) - Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@67cea89c
2013-10-31 16:23:01,255 INFO io.MultiInputSplit (MultiInputSplit.java:readFields(161)) - current split input path: file:/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt
2013-10-31 16:23:01,267 INFO mapred.MapTask (MapTask.java:runOldMapper(430)) - numReduceTasks: 1
2013-10-31 16:23:01,274 INFO mapred.MapTask (MapTask.java:<init>(960)) - io.sort.mb = 100
2013-10-31 16:23:01,318 INFO mapred.MapTask (MapTask.java:<init>(972)) - data buffer = 79691776/99614720
2013-10-31 16:23:01,319 INFO mapred.MapTask (MapTask.java:<init>(973)) - record buffer = 262144/327680
2013-10-31 16:23:01,337 INFO hadoop.FlowMapper (FlowMapper.java:configure(70)) - cascading version: 2.2.0
2013-10-31 16:23:01,337 INFO hadoop.FlowMapper (FlowMapper.java:configure(71)) - child jvm opts:
2013-10-31 16:23:01,390 INFO hadoop.FlowMapper (FlowMapper.java:configure(86)) - sourcing from: Hfs["TextDelimited[['ip', 'client', 'user', 'date', 'request', 'code', 'bytes', 'referrer', 'agent', 'na' | String, String, String, DateType{dateFormatString='dd/MMM/yyyy:HH:mm:ss Z'}, String, int, long, String, String, String]]"]["/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt"]
2013-10-31 16:23:01,390 INFO hadoop.FlowMapper (FlowMapper.java:configure(89)) - sinking to: CoGroup(lhs*rhs)[by: lhs:[{1}:'date'] rhs:[{1}:'date']]
2013-10-31 16:23:01,523 INFO mapred.MapTask (MapTask.java:flush(1300)) - Starting flush of map output
2013-10-31 16:23:01,530 INFO mapred.MapTask (MapTask.java:sortAndSpill(1484)) - Finished spill 0
2013-10-31 16:23:01,532 INFO mapred.Task (Task.java:done(852)) - Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting
2013-10-31 16:23:04,232 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(321)) - file:/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt:0+1449
2013-10-31 16:23:04,234 INFO mapred.Task (Task.java:sendDone(964)) - Task 'attempt_local_0001_m_000000_0' done.
2013-10-31 16:23:04,236 INFO mapred.MapTask (MapTask.java:run(352)) - Host name: ip-10-5-128-102.ec2.internal
2013-10-31 16:23:04,237 INFO mapred.Task (Task.java:initialize(534)) - Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@7480ea35
2013-10-31 16:23:04,240 INFO io.MultiInputSplit (MultiInputSplit.java:readFields(161)) - current split input path: file:/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt
2013-10-31 16:23:04,242 INFO mapred.MapTask (MapTask.java:runOldMapper(430)) - numReduceTasks: 1
2013-10-31 16:23:04,243 INFO mapred.MapTask (MapTask.java:<init>(960)) - io.sort.mb = 100
2013-10-31 16:23:04,264 INFO mapred.MapTask (MapTask.java:<init>(972)) - data buffer = 79691776/99614720
2013-10-31 16:23:04,264 INFO mapred.MapTask (MapTask.java:<init>(973)) - record buffer = 262144/327680
2013-10-31 16:23:04,265 INFO hadoop.FlowMapper (FlowMapper.java:configure(70)) - cascading version: 2.2.0
2013-10-31 16:23:04,265 INFO hadoop.FlowMapper (FlowMapper.java:configure(71)) - child jvm opts:
2013-10-31 16:23:04,280 INFO hadoop.FlowMapper (FlowMapper.java:configure(86)) - sourcing from: Hfs["TextDelimited[['ip', 'client', 'user', 'date', 'request', 'code', 'bytes', 'referrer', 'agent', 'na' | String, String, String, Long, String, int, long, String, String, String]]"]["/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt"]
2013-10-31 16:23:04,281 INFO hadoop.FlowMapper (FlowMapper.java:configure(89)) - sinking to: CoGroup(lhs*rhs)[by: lhs:[{1}:'date'] rhs:[{1}:'date']]
2013-10-31 16:23:04,291 INFO mapred.MapTask (MapTask.java:flush(1300)) - Starting flush of map output
2013-10-31 16:23:04,292 INFO mapred.MapTask (MapTask.java:sortAndSpill(1484)) - Finished spill 0
2013-10-31 16:23:04,294 INFO mapred.Task (Task.java:done(852)) - Task:attempt_local_0001_m_000001_0 is done. And is in the process of commiting
2013-10-31 16:23:07,238 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(321)) - file:/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/classes/test/data/apache-clean.10.txt:0+1449
2013-10-31 16:23:07,240 INFO mapred.Task (Task.java:sendDone(964)) - Task 'attempt_local_0001_m_000001_0' done.
2013-10-31 16:23:07,258 INFO mapred.ReduceTask (ReduceTask.java:run(360)) - Host name: ip-10-5-128-102.ec2.internal
2013-10-31 16:23:07,260 INFO mapred.Task (Task.java:initialize(534)) - Using ResourceCalculatorPlugin : org.apache.hadoop.util.LinuxResourceCalculatorPlugin@35b4ca97
2013-10-31 16:23:07,260 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(321)) -
2013-10-31 16:23:07,269 INFO mapred.Merger (Merger.java:merge(390)) - Merging 2 sorted segments
2013-10-31 16:23:07,272 INFO mapred.Merger (Merger.java:merge(473)) - Down to the last merge-pass, with 2 segments left of total size: 3010 bytes
2013-10-31 16:23:07,272 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(321)) -
2013-10-31 16:23:07,273 INFO hadoop.FlowReducer (FlowReducer.java:configure(77)) - cascading version: 2.2.0
2013-10-31 16:23:07,274 INFO hadoop.FlowReducer (FlowReducer.java:configure(78)) - child jvm opts:
2013-10-31 16:23:07,288 INFO hadoop.FlowReducer (FlowReducer.java:configure(96)) - sourcing from: CoGroup(lhs*rhs)[by: lhs:[{1}:'date'] rhs:[{1}:'date']]
2013-10-31 16:23:07,288 INFO hadoop.FlowReducer (FlowReducer.java:configure(99)) - sinking to: Hfs["TextDelimited[['ip', 'client', 'user', 'date', 'request', 'code', 'bytes', 'referrer', 'agent', 'na', 10:19 | String, String, String, DateType{dateFormatString='dd/MMM/yyyy:HH:mm:ss Z'}, String, int, long, String, String, String, String, String, String, Long, String, int, long, String, String, String]]"]["/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output/hadoop/typedfieldedpipesplatform/testFieldTypeCheck"]
2013-10-31 16:23:07,301 INFO collect.SpillableTupleList (SpillableTupleList.java:getCodecClass(105)) - attempting to load codec: org.apache.hadoop.io.compress.GzipCodec
2013-10-31 16:23:07,301 INFO collect.SpillableTupleList (SpillableTupleList.java:getCodecClass(110)) - found codec: org.apache.hadoop.io.compress.GzipCodec
2013-10-31 16:23:07,314 INFO mapred.Task (Task.java:done(852)) - Task:attempt_local_0001_r_000000_0 is done. And is in the process of commiting
2013-10-31 16:23:07,315 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(321)) -
2013-10-31 16:23:07,315 INFO mapred.Task (Task.java:commit(1005)) - Task attempt_local_0001_r_000000_0 is allowed to commit now
2013-10-31 16:23:07,318 INFO mapred.FileOutputCommitter (FileOutputCommitter.java:commitTask(138)) - Saved output of task 'attempt_local_0001_r_000000_0' to file:/home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output/hadoop/typedfieldedpipesplatform/testFieldTypeCheck
2013-10-31 16:23:10,260 INFO mapred.LocalJobRunner (LocalJobRunner.java:statusUpdate(321)) - reduce > reduce
2013-10-31 16:23:10,261 INFO mapred.Task (Task.java:sendDone(964)) - Task 'attempt_local_0001_r_000000_0' done.
2013-10-31 16:23:10,283 INFO util.Hadoop18TapUtil (Hadoop18TapUtil.java:cleanTempPath(219)) - deleting temp path /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output/hadoop/typedfieldedpipesplatform/testFieldTypeCheck/_temporary
2013-10-31 16:23:10,305 INFO mapred.FileInputFormat (FileInputFormat.java:listStatus(199)) - Total input paths to process : 1
2013-10-31 16:23:10,315 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testFieldTypeCheck
2013-10-31 16:23:10,324 INFO util.HadoopUtil (HadoopUtil.java:findMainClass(319)) - using default application jar, may cause class not found exceptions on the cluster
2013-10-31 16:23:10,325 INFO planner.HadoopPlanner (HadoopPlanner.java:initialize(203)) - using application jar: /home/hadoop/.gradle/caches/artifacts-26/filestore/cascading/cascading-hadoop/2.2.0/jar/c7b52bd4c6da523ebde0a5d6eca2475123783db2/cascading-hadoop-2.2.0.jar
2013-10-31 16:23:10,329 INFO cascading.PlatformTestCase (PlatformTestCase.java:tearDown(209)) - copying to local /home/hadoop/cascading.compatibility/amazon-emr-2.4.1/build/test/output//hadoop/typedfieldedpipesplatform/testGroupByIncomparableTypes