INSERT INTO `SATDInFile` VALUES (10701,'Should never occur in practice as lazy writer always persists\nthe replica at the head of the queue before moving to the next\none.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyWriteReplicaTracker.java',169,171,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.LazyWriteReplicaTracker','recordEndLazyPersist(String, long, File)',NULL),(10702,'TODO: Initialize transientReplicaTracker from blocks on disk.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',265,265,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()','NOT_DESIGN'),(10703,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/BlockPoolSlice.java',-1,-1,'None','None',NULL),(10704,'Important that the entity is not repeatable -- this means if\nwe have to renegotiate (e.g. b/c the cookie wasn\'t handled properly)\nthe test will fail.','Line','hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java',286,288,'org.apache.hadoop.security.authentication.client.AuthenticatorTestCase','_testAuthenticationHttpClient(Authenticator, boolean)',NULL),(10705,'TODO process resource over-commitment case (allocated containers\n> total capacity) in different option by getting value of\noverCommitTimeoutMillis.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/SchedulerUtils.java',173,175,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils','updateResourceIfChanged(SchedulerNode, RMNode, Resource, Log)','NOT_DESIGN'),(10706,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/SchedulerUtils.java',-1,-1,'None','None',NULL),(10707,'TODO: handle exception','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/test/java/org/apache/hadoop/mapred/nativetask/kvtest/LargeKVTest.java',100,100,'org.apache.hadoop.mapred.nativetask.kvtest.LargeKVTest','runKVSizeTests(Class<?>, Class<?>)','NOT_DESIGN'),(10708,'None','None','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/test/java/org/apache/hadoop/mapred/nativetask/kvtest/LargeKVTest.java',-1,-1,'None','None',NULL),(10709,'TODO: It is really inefficient to do this with the Object lock held!\nTODO: This logic is here just for prototyping.\nTODO: We should replace it with proactive discard when ram_disk free space\nTODO:   falls below a low watermark. That way we avoid fs operations on the\nTODO:   hot path with the lock held.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',932,936,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()','DESIGN'),(10710,'FsDatasetSpi','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',912,912,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(10711,'Move the persisted replica to the finalized directory of\nthe target volume.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',951,952,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()','NOT_DESIGN'),(10712,'TODO: This can be made more efficient.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyWriteReplicaTracker.java',125,125,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.LazyWriteReplicaTracker','ReplicaState> getLruMap()','DESIGN'),(10713,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyWriteReplicaTracker.java',-1,-1,'None','None',NULL),(10714,'If deletion failed then the directory scanner will cleanup the blocks\neventually.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',2335,2336,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','evictBlocks()',NULL),(10715,'TODO verify according to the given path list','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',248,248,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','prepare(DistributedFileSystem, short)',NULL),(10716,'test move a hot file to warm\nTODO: fix Mover not terminate in the test below','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',545,546,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','testNoSpaceDisk()',NULL),(10717,'Should never occur in practice as lazy writer always persists\nthe replica at the head of the queue before moving to the next\none.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyWriteReplicaTracker.java',162,164,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.LazyWriteReplicaTracker','recordEndLazyPersist(String, long, File)',NULL),(10718,'Should never occur in practice as lazy writer always persists\nthe replica at the head of the queue before moving to the next\none.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyWriteReplicaTracker.java',182,184,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.LazyWriteReplicaTracker','recordEndLazyPersist(String, long, File, File)',NULL),(10719,'TODO: we probably want to forcibly uncache the block (and close the\nshm) after a certain timeout has elapsed.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetCache.java',268,269,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetCache','shouldAdvertise()','DESIGN'),(10720,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetCache.java',-1,-1,'None','None',NULL),(10721,'TODO: we will eventually need to do revocation here if any clients\nare reading via mmap with checksums enabled.  See HDFS-5182.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetCache.java',420,421,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetCache','run()','NOT_DESIGN'),(10722,'Poll very often','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestFsDatasetCacheRevocation.java',102,102,'org.apache.hadoop.hdfs.server.datanode.TestFsDatasetCacheRevocation','testPinning()',NULL),(10723,'Poll very often','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestFsDatasetCacheRevocation.java',151,151,'org.apache.hadoop.hdfs.server.datanode.TestFsDatasetCacheRevocation','testRevocation()',NULL),(10724,'test move a hot file to warm\nTODO: fix Mover not terminate in the test below','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',549,550,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','testNoSpaceDisk()','DESIGN'),(10725,'test move a hot file to warm','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',560,560,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','testNoSpaceDisk()',NULL),(10726,'\nSend it to S3\n\nTODO: Use passed in Progressable to report progress.','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3/S3OutputStream.java',177,180,'org.apache.hadoop.fs.s3.S3OutputStream','endBlock()',NULL),(10727,'the seek is attempting to move the current position','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java',204,204,'org.apache.hadoop.fs.s3native.NativeS3FileSystem','read()',NULL),(10728,'the seek is attempting to move the current position','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java',204,204,'org.apache.hadoop.fs.s3native.NativeS3FileSystem','read()',NULL),(10729,'bail out fast if the source does not exist','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java',655,655,'org.apache.hadoop.fs.s3native.NativeS3FileSystem','rename(Path, Path)',NULL),(10730,'bail out fast if the source does not exist','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java',655,655,'org.apache.hadoop.fs.s3native.NativeS3FileSystem','rename(Path, Path)',NULL),(10731,'the final destination directory is now know, so validate it for\nillegal moves','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/s3/S3FileSystem.java',351,352,'org.apache.hadoop.fs.s3.S3FileSystem','rename(Path, Path)',NULL),(10732,'the final destination directory is now know, so validate it for\nillegal moves','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3/S3FileSystem.java',351,352,'org.apache.hadoop.fs.s3.S3FileSystem','rename(Path, Path)',NULL),(10733,'you can\'t move a directory under itself','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/s3/S3FileSystem.java',363,363,'org.apache.hadoop.fs.s3.S3FileSystem','rename(Path, Path)',NULL),(10734,'you can\'t move a directory under itself','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3/S3FileSystem.java',363,363,'org.apache.hadoop.fs.s3.S3FileSystem','rename(Path, Path)',NULL),(10735,'Reset no pending move counter','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',657,657,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','get(Block)',NULL),(10736,'TODO: fail the app submission if attempts are more than 10 or something','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',89,89,'org.apache.hadoop.yarn.api.records.ContainerId','newInstance(ApplicationAttemptId, int)',NULL),(10737,'TODO: fail the app submission if attempts are more than 10 or something','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',101,101,'org.apache.hadoop.yarn.api.records.ContainerId','newInstance(ApplicationAttemptId, long)',NULL),(10738,'TODO: Why thread local?\n^ NumberFormat instances are not threadsafe','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',100,101,'org.apache.hadoop.yarn.api.records.ContainerId','newInstance(ApplicationAttemptId, int)',NULL),(10739,'TODO: Why thread local?\n^ NumberFormat instances are not threadsafe','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',112,113,'org.apache.hadoop.yarn.api.records.ContainerId','newInstance(ApplicationAttemptId, long)',NULL),(10740,'Protect against HTTP response splitting vulnerability\nsince value is written as part of the response header','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/webapp/CrossOriginFilter.java',195,196,'org.apache.hadoop.yarn.server.timeline.webapp.CrossOriginFilter','encodeHeader(String)','NOT_DESIGN'),(10741,'Protect against HTTP response splitting vulnerability\nsince value is written as part of the response header\nEnsure this header only has one header by removing\nCRs and LFs','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/webapp/CrossOriginFilter.java',192,195,'org.apache.hadoop.yarn.server.timeline.webapp.CrossOriginFilter','encodeHeader(String)',NULL),(10742,'TODO: Should the diskFile be deleted?','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1755,1755,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()','DESIGN'),(10743,'We have two sets of block+meta files. Decide which one to\nkeep.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1753,1754,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(10744,'Move the replica outside the lock.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',2265,2265,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','saveNextReplica()','NOT_DESIGN'),(10745,'Should never occur in practice as lazy writer always persists\nthe replica at the head of the queue before moving to the next\none.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyWriteReplicaTracker.java',186,188,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.LazyWriteReplicaTracker','recordEndLazyPersist(String, long, File[])',NULL),(10746,'TODO: If we have created an empty file at /foo/bar and we then call\nmkdirs for /foo/bar/baz/roo what happens to the empty file /foo/bar/?','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java',644,645,'org.apache.hadoop.fs.s3a.S3AFileSystem','mkdirs(Path, FsPermission)',NULL),(10747,'seconds until we give up on a connection to s3','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/Constants.java',46,46,'org.apache.hadoop.fs.s3a.Constants','None',NULL),(10748,'Need to set the client\'s KeyProvider to the NN\'s for JKS,\nelse the updates do not get flushed properly','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java',137,138,'org.apache.hadoop.hdfs.TestEncryptionZones','None',NULL),(10749,'Need to set the client\'s KeyProvider to the NN\'s for JKS,\nelse the updates do not get flushed properly','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java',139,140,'org.apache.hadoop.hdfs.TestEncryptionZones','getKeyProviderURI()',NULL),(10750,'user1 is the owner\nuser2 is the authorized user\nuser3 is the unauthorized user\nadmin is the admin acl','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerOnTimelineStore.java',103,106,'org.apache.hadoop.yarn.server.applicationhistoryservice.TestApplicationHistoryManagerOnTimelineStore','callers()',NULL),(10751,'TODO: here we have to put the keyName to be provided by HDFS-6987','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java',1324,1324,'org.apache.hadoop.hdfs.DFSClient','decryptEncryptedDataEncryptionKey(FileEncryptionInfo)',NULL),(10752,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ClientRMProxy.java',-1,-1,'None','None',NULL),(10753,'In either way, token should be there','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestYarnClient.java',819,819,'org.apache.hadoop.yarn.client.api.impl.TestYarnClient','testAutomaticTimelineDelegationTokenLoading()',NULL),(10754,'The -hotswap constant should not be used as a startup option, it is\nonly used for StorageDirectory.analyzeStorage() in hot swap drive scenario.\nTODO refactor StorageDirectory.analyzeStorage() so that we can do away with\nthis in StartupOption.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/HdfsServerConstants.java',98,101,'org.apache.hadoop.hdfs.server.common.HdfsServerConstants','getOptionString()',NULL),(10755,'Move decommissioned/stale datanodes to the bottom','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java',371,371,'org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager','sortLocatedBlocks(String, List<LocatedBlock>, boolean)',NULL),(10756,'Move decommissioned/stale datanodes to the bottom','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java',370,370,'org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager','sortLocatedBlocks(String, List<LocatedBlock>)',NULL),(10757,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java',-1,-1,'None','None',NULL),(10758,'TODO: here we have to put the keyName to be provided by HDFS-6987','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java',1322,1322,'org.apache.hadoop.hdfs.DFSClient','decryptEncryptedDataEncryptionKey(FileEncryptionInfo)','DESIGN'),(10759,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java',-1,-1,'None','None',NULL),(10760,'TODO: Eliminate null elements from inodes (to be provided by HDFS-7104)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java',136,136,'org.apache.hadoop.hdfs.server.namenode.INodesInPath','isDotSnapshotDir(byte[])','DESIGN'),(10761,'Add a test for distcache when uber mode is enabled. TODO','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestUberAM.java',195,195,'org.apache.hadoop.mapreduce.v2.TestUberAM','testDistributedCache()','NOT_DESIGN'),(10762,'None','None','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestUberAM.java',-1,-1,'None','None',NULL),(10763,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',105,106,'org.apache.hadoop.tracing.TestTracing','testSpanReceiverHost()',NULL),(10764,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',107,108,'org.apache.hadoop.tracing.TestTracing','testGetSpanReceiverHost()',NULL),(10765,'TODO: make data retention work with the domain data as well','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/LeveldbTimelineStore.java',1572,1572,'org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore','put(TimelineDomain)',NULL),(10766,'Verify blocks on ram disk will not be moved to other storage types by\npolicy based Storage Mover.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',807,808,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','testRamDiskNotMoved()',NULL),(10767,'Validate no RAM_DISK block should be moved','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancer.java',1172,1172,'org.apache.hadoop.hdfs.server.balancer.TestBalancer','testBalancerWithRamDisk()',NULL),(10768,'Returns whether we should continue to look at all heart beating nodes even\nafter the reservation limit was hit. The node heart beating in could\nsatisfy the request thus could be a better pick then waiting for the\nreservation to be fullfilled.  This config is refreshable.','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java',318,323,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration','getReservationContinueLook()',NULL),(10769,'we could potentially use this node instead of reserved node','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1009,1009,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource, float, float, float, float, int, float, int, float, int, int, int, QueueState, Map<QueueACL, AccessControlList>, int, boolean)',NULL),(10770,'we could potentially use this node instead of reserved node','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',674,674,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue','assignToQueueIfUnreserve(Resource)',NULL),(10771,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodesInPath.java',-1,-1,'None','None',NULL),(10772,'Ideally, this should happen only when there is an Authentication\nfailure. Unfortunately, the AuthenticationFilter returns 403 when it\ncannot authenticate (Since a 401 requires Server to send\nWWW-Authenticate header as well)..','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java',431,434,'org.apache.hadoop.crypto.key.kms.KMSClientProvider','call(HttpURLConnection, Map, int, Class<T>)',NULL),(10773,'Verify blocks on ram disk will not be moved to other storage types by\npolicy based Storage Mover.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',839,840,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','testRamDiskNotMoved()','DESIGN'),(10774,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',-1,-1,'None','None',NULL),(10775,'TODO: Why pick first app dir. The same in LCE why not random?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',98,98,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','init()',NULL),(10776,'TODO: Why pick first app dir. The same in LCE why not random?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',106,106,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','copyFile(Path, Path, String)','NOT_DESIGN'),(10777,'TODO: DO it over RPC for maintaining similarity?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',107,107,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','init()',NULL),(10778,'TODO: DO it over RPC for maintaining similarity?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',115,115,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','copyFile(Path, Path, String)',NULL),(10779,'TODO: exit code script for Windows','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',357,357,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','copyFile(Path, Path, String)',NULL),(10780,'Maybe retry','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',422,422,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','init()',NULL),(10781,'Maybe retry','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',434,434,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','copyFile(Path, Path, String)',NULL),(10782,'TODO: Why pick first app dir. The same in LCE why not random?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/WindowsSecureContainerExecutor.java',119,119,'org.apache.hadoop.yarn.server.nodemanager.WindowsSecureContainerExecutor','startLocalizer(Path, InetSocketAddress, String, String, String, List<String>, List<String>)','NOT_DESIGN'),(10783,'TODO: Currently we just check the user is the admin or the timeline\nentity owner. In the future, we need to check whether the user is in the\nallowed user/group list','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/security/TimelineACLsManager.java',74,76,'org.apache.hadoop.yarn.server.timeline.security.TimelineACLsManager','checkAccess(UserGroupInformation, TimelineEntity)','DESIGN'),(10784,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/security/TimelineACLsManager.java',-1,-1,'None','None',NULL),(10785,'Ideally, this should happen only when there is an Authentication\nfailure. Unfortunately, the AuthenticationFilter returns 403 when it\ncannot authenticate (Since a 401 requires Server to send\nWWW-Authenticate header as well)..','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java',450,453,'org.apache.hadoop.crypto.key.kms.KMSClientProvider','call(HttpURLConnection, Map, int, Class<T>, int)',NULL),(10786,'Ignore the AuthExceptions.. since we are just using the method to\nextract and set the authToken.. (Workaround till we actually fix\nAuthenticatedURL properly to set authToken post initialization)','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java',471,473,'org.apache.hadoop.crypto.key.kms.KMSClientProvider','call(HttpURLConnection, Map, int, Class<T>, int)',NULL),(10787,'TODO Get the user configuration for the list of containers that need log\naggregation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/LogAggregationService.java',355,356,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.LogAggregationService','initAppAggregator(ApplicationId, String, Credentials, ContainerLogsRetentionPolicy, Map<ApplicationAccessType, String>)',NULL),(10788,'TODO Get the user configuration for the list of containers that need log\naggregation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/LogAggregationService.java',365,366,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.LogAggregationService','initAppAggregator(ApplicationId, String, Credentials, ContainerLogsRetentionPolicy, Map<ApplicationAccessType, String>, LogAggregationContext)',NULL),(10789,'TODO: The condition: containerId.getId() == 1 to determine an AM container\nis not always true.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java',284,285,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.AppLogAggregatorImpl','uploadLogsForContainers()',NULL),(10790,'Initialize plan based on move flag','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/reservation/TestCapacitySchedulerPlanFollower.java',158,158,'org.apache.hadoop.yarn.server.resourcemanager.reservation.TestCapacitySchedulerPlanFollower','testPlanFollower(boolean)',NULL),(10791,'Now, headroom is the same for all apps for a given user + queue combo\nand a change to any app\'s headroom is reflected for all the user\'s apps\nonce those apps are active/have themselves calculated headroom for\nallocation at least one time','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java',697,700,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestLeafQueue','testUserHeadroomMultiApp()',NULL),(10792,'Corner case to deal with applications being slightly over-limit','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityHeadroomProvider.java',57,57,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityHeadroomProvider','getHeadroom()',NULL),(10793,'maybe has data','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/client/binding/RegistryUtils.java',292,292,'org.apache.hadoop.registry.client.binding.RegistryUtils','ServiceRecord> extractServiceRecords(RegistryOperations, String, Collection<RegistryPathStatus>)',NULL),(10794,'TODO: this is something temporary to deal with the problem\nthat jenkins is failing this test','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/server/services/RegistryAdminService.java',230,231,'org.apache.hadoop.registry.server.services.RegistryAdminService','newThread(Runnable)',NULL),(10795,'something else went very wrong here','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/cli/RegistryCli.java',441,441,'org.apache.hadoop.registry.cli.RegistryCli','analyzeException(String, Exception, List<String>)',NULL),(10796,'TODO JDK7 SWITCH','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/client/impl/zk/RegistrySecurity.java',196,196,'org.apache.hadoop.registry.client.impl.zk.RegistrySecurity','None',NULL),(10797,'unlikely since it is standard to the JVM, but maybe JCE restrictions\ncould trigger it','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/client/impl/zk/RegistrySecurity.java',449,450,'org.apache.hadoop.registry.client.impl.zk.RegistrySecurity','serviceInit(Configuration)',NULL),(10798,'The key is encoded to point to a common container at the storage server.\nThis reduces the number of splits on the server side when load balancing.\nIngress to Azure storage can take advantage of earlier splits. We remove\nthe root path to the key and prefix a random GUID to the tail (or leaf\nfilename) of the key. Keys are thus broadly and randomly distributed over\na single container to ease load balancing on the storage server. When the\nblob is committed it is renamed to its earlier key. Uncommitted blocks\nare not cleaned up and we leave it to Azure storage to garbage collect\nthese\nblocks.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',649,658,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getScheme()','DESIGN'),(10799,'Store page blobs directly in-place without renames.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',1383,1383,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getFiles()',NULL),(10800,'This is a block blob, so open the output blob stream based on the\nencoded key.\n','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',1386,1388,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getFiles()',NULL),(10801,'First create a blob at the real key, pointing back to the temporary file\nThis accomplishes a few things:\n1. Makes sure we can create a file there.\n2. Makes it visible to other concurrent threads/processes/nodes what\nwe\'re\ndoing.\n3. Makes it easier to restore/cleanup data in the event of us crashing.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',1392,1398,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getFiles()',NULL),(10802,'The key is encoded to point to a common container at the storage server.\nThis reduces the number of splits on the server side when load balancing.\nIngress to Azure storage can take advantage of earlier splits. We remove\nthe root path to the key and prefix a random GUID to the tail (or leaf\nfilename) of the key. Keys are thus broadly and randomly distributed over\na single container to ease load balancing on the storage server. When the\nblob is committed it is renamed to its earlier key. Uncommitted blocks\nare not cleaned up and we leave it to Azure storage to garbage collect\nthese\nblocks.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',1401,1410,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getFiles()',NULL),(10803,'Move everything inside the folder.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',1175,1175,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getScheme()','NOT_DESIGN'),(10804,'None','None','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',-1,-1,'None','None',NULL),(10805,'Check if authority container the delimiter separating the account name\nfrom the\nthe container.\n','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',403,406,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','getAccountFromAuthority(URI)',NULL),(10806,'Check if authority container the delimiter separating the account name from the\nthe container.\n','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',477,479,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','getAccountFromAuthority(URI)',NULL),(10807,'There is no file with that key name, but maybe it is a folder.\nQuery the underlying folder/container to list the blobs stored\nthere under that key.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',1642,1644,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','retrieveMetadata(String)',NULL),(10808,'There is no file with that key name, but maybe it is a folder.\nQuery the underlying folder/container to list the blobs stored\nthere under that key.\n','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',1876,1879,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','retrieveMetadata(String)',NULL),(10809,'Reached the targeted listing depth. Return metadata for the\ndirectory using default permissions.\n\nNote: Something smarter should be done about permissions. Maybe\ninherit the permissions of the first non-directory blob.\nAlso, getting a proper value for last-modified is tricky.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2013,2018,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','buildUpList(CloudBlobDirectoryWrapper, ArrayList<FileMetadata>, int, int)','DESIGN'),(10810,'Reached the targeted listing depth. Return metadata for the\ndirectory using default permissions.\n\nNote: Something smarter should be done about permissions. Maybe\ninherit the permissions of the first non-directory blob.\nAlso, getting a proper value for last-modified is tricky.\n','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2233,2239,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','buildUpList(CloudBlobDirectoryWrapper, ArrayList<FileMetadata>, int, int)',NULL),(10811,'Add the directory metadata to the list.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2245,2245,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','buildUpList(CloudBlobDirectoryWrapper, ArrayList<FileMetadata>, int, int)',NULL),(10812,'Reached the targeted listing depth. Return metadata for the\ndirectory using default permissions.\n\nNote: Something smarter should be done about permissions. Maybe\ninherit the permissions of the first non-directory blob.\nAlso, getting a proper value for last-modified is tricky.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2082,2087,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','list(String, String, int, int, String)',NULL),(10813,'TODO: set the backingStore.properties.CopyState and\nupdate azureNativeFileSystemStore.waitForCopyToComplete','Line','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/MockStorageInterface.java',409,410,'org.apache.hadoop.fs.azure.MockStorageInterface','startCopyFromBlob(URI, OperationContext)',NULL),(10814,'Give up now to avoid using too much memory.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java',290,290,'org.apache.hadoop.fs.azure.NativeAzureFileSystem','getFiles()',NULL),(10815,'flush() no longer does anything  @@TODO: reinstate an appropriate test of fsck recovery','Block','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestWasbFsck.java',71,71,'org.apache.hadoop.fs.azure.TestWasbFsck','testRecover()',NULL),(10816,'TODO: Remove at the time when we move to Azure Java SDK 1.2+.\nThis is the workaround provided by Azure Java SDK team to\nmitigate the issue with un-encoded x-ms-copy-source HTTP\nrequest header. Azure sdk version before 1.2+ does not encode this\nheader what causes all URIs that have special (category \\\"other\\\")\ncharacters in the URI not to work with startCopyFromBlob when\nspecified as source (requests fail with HTTP 403).','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2417,2423,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','rename(String, String, boolean, SelfRenewingLease)',NULL),(10817,'flush() no longer does anything. @@TODO: implement a force-flush and reinstate this test','Block','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestNativeAzureFileSystemUploadLogic.java',82,82,'org.apache.hadoop.fs.azure.TestNativeAzureFileSystemUploadLogic','testConsistencyAfterSmallFlushes()',NULL),(10818,'flush() no longer does anything. @@TODO: implement a force-flush and reinstate this test','Block','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestNativeAzureFileSystemUploadLogic.java',92,92,'org.apache.hadoop.fs.azure.TestNativeAzureFileSystemUploadLogic','testConsistencyAfterMediumFlushes()',NULL),(10819,'flush() no longer does anything. @@TODO: implement a force-flush and reinstate this test','Block','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestNativeAzureFileSystemUploadLogic.java',102,102,'org.apache.hadoop.fs.azure.TestNativeAzureFileSystemUploadLogic','testConsistencyAfterLargeFlushes()',NULL),(10820,'verify that the file itself has the permissions as specified','Line','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/NativeAzureFileSystemBaseTest.java',212,212,'org.apache.hadoop.fs.azure.NativeAzureFileSystemBaseTest','createTestAccount()',NULL),(10821,'TODO: use it','Line','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/InMemoryBlockBlobStore.java',181,181,'org.apache.hadoop.fs.azure.InMemoryBlockBlobStore','getKeys()',NULL),(10822,'TODO: we need to check and combine the existing timeline domain ACLs,\nbut let\'s do it once we have client java library to query domains.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java',832,833,'org.apache.hadoop.yarn.applications.distributedshell.Client','prepareTimelineDomain()',NULL),(10823,'Move mirror to mirror.old','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',235,235,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover()',NULL),(10824,'move mirror.writing to mirror','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',241,241,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover()',NULL),(10825,'randomly choose the local directory','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java',107,107,'org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor','copyFile(Path, Path, String)',NULL),(10826,'TODO verify according to the given path list','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestStorageMover.java',277,277,'org.apache.hadoop.hdfs.server.mover.TestStorageMover','prepare(DistributedFileSystem, short)','DESIGN'),(10827,'TODO, add implementation for FS','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java',277,277,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSQueue','getAccessibleNodeLabels()',NULL),(10828,'TODO, add implementation for FS','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java',283,283,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSQueue','getDefaultNodeLabelExpression()',NULL),(10829,'TODO add implementation for FIFO scheduler','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java',194,194,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler','getQueueName()',NULL),(10830,'if enabled, check to see if could we potentially use this node instead\nof a reserved node if the application has reserved containers\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',945,947,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10831,'Otherwise, if any of the label of this node beyond queue limit, we\ncannot allocate on this node. Consider a small epsilon here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',979,980,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10832,'Compute user limit respect requested labels,\nTODO, need consider headroom respect labels also','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1009,1010,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10833,'Check queue max-capacity limit,\nTODO: Consider reservation on labels','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1329,1330,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10834,'Currently, following fields are all hard code,\nTODO: change these fields when we want to support\npriority/resource-name/relax-locality specification for AM containers\nallocation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/RMAppAttemptImpl.java',904,907,'org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl','getAppAttemptId()',NULL),(10835,'This test is pretty much similar to testContainerAllocateWithLabel.\nDifference is, this test doesn\'t specify label expression in ResourceRequest,\ninstead, it uses default queue label expression','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestContainerAllocation.java',695,697,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestContainerAllocation','testContainerAllocateWithDefaultQueueLabels()',NULL),(10836,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/WindowsSecureContainerExecutor.java',-1,-1,'None','None',NULL),(10837,'TODO: need to take care of the renew case','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java',269,269,'org.apache.hadoop.yarn.client.api.impl.TimelineClientImpl','serviceInit(Configuration)','NOT_DESIGN'),(10838,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java',-1,-1,'None','None',NULL),(10839,'If the status code is not 200, some thing wrong should happen at the\nserver side, the JSON content is going to contain exception details.\nWe can use the JSON content to reconstruct the exception object.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineAuthenticator.java',233,235,'org.apache.hadoop.yarn.client.api.impl.TimelineAuthenticator','validateAndParseResponse(HttpURLConnection)',NULL),(10840,'Note that, there is no guarantee data is synced. TODO: We could still\ndo a sync here though the output stream might be closed.','Line','hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/OpenFileCtx.java',821,822,'org.apache.hadoop.hdfs.nfs.nfs3.OpenFileCtx','checkCommitInternal(long, Channel, int, Nfs3FileAttributes, boolean)','DESIGN'),(10841,'Commit whole file, commitOffset == 0','Line','hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/OpenFileCtx.java',874,874,'org.apache.hadoop.hdfs.nfs.nfs3.OpenFileCtx','checkCommitInternal(long, Channel, int, Nfs3FileAttributes, boolean)',NULL),(10842,'Insert commit','Line','hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/OpenFileCtx.java',876,876,'org.apache.hadoop.hdfs.nfs.nfs3.OpenFileCtx','checkCommitInternal(long, Channel, int, Nfs3FileAttributes, boolean)',NULL),(10843,'TODO: Remove Windows check and use this approach on all platforms after\nadditional testing.  See YARN-358.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/ContainerLaunch.java',722,723,'org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch','sanitizeEnv(Map<String, String>, Path, List<Path>, List<String>, Map<Path, List<String>>)',NULL),(10844,'TODO: Remove Windows check and use this approach on all platforms after\nadditional testing.  See YARN-358.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/ContainerLaunch.java',725,726,'org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch','sanitizeEnv(Map<String, String>, Path, List<Path>, List<String>, Map<Path, List<String>>, Path)',NULL),(10845,'Oh damn! Sending reboot isn\'t enough. RM state is corrupted. TODO:\nReboot is not useful since after AM reboots, it will send register\nand\nget an exception. Might as well throw an exception here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java',457,460,'org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService','serviceStart()','DESIGN'),(10846,'old heartbeat','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java',451,451,'org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService','serviceStart()',NULL),(10847,'filter illegal progress values','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java',461,461,'org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService','serviceStart()',NULL),(10848,'first, if the path ends with the renamed suffix, it indicates the\ndirectory was moved (as stale) but somehow not deleted (probably due to','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager/src/main/java/org/apache/hadoop/yarn/server/sharedcachemanager/CleanerTask.java',200,201,'org.apache.hadoop.yarn.server.sharedcachemanager.CleanerTask','processSingleResource(FileStatus)',NULL),(10849,'TODO: delete the container dir','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/DummyContainerManager.java',109,109,'org.apache.hadoop.yarn.server.nodemanager.DummyContainerManager','createResourceLocalizationService(ContainerExecutor, DeletionService)',NULL),(10850,'TODO: delete the container dir','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/DummyContainerManager.java',108,108,'org.apache.hadoop.yarn.server.nodemanager.DummyContainerManager','createResourceLocalizationService(ContainerExecutor, DeletionService, Context)',NULL),(10851,'TODO: add the history server','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/MiniMRYarnCluster.java',76,76,'org.apache.hadoop.mapreduce.v2.MiniMRYarnCluster','getResolvedMRHistoryWebAppURLWithoutScheme(Configuration, boolean)','NOT_DESIGN'),(10852,'None','None','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/MiniMRYarnCluster.java',-1,-1,'None','None',NULL),(10853,'verify some deprecated properties appear for older stream jobs','Line','hadoop-tools/hadoop-streaming/src/test/java/org/apache/hadoop/streaming/TrApp.java',60,60,'org.apache.hadoop.streaming.TrApp','None',NULL),(10854,'TODO: maybe not efficient','Line','hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3Utils.java',101,101,'org.apache.hadoop.hdfs.nfs.nfs3.Nfs3Utils','createWccData(WccAttr, DFSClient, String, IdUserGroup)',NULL),(10855,'TODO: let executor handle perfect overwrite','Line','hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/OpenFileCtx.java',612,612,'org.apache.hadoop.hdfs.nfs.nfs3.OpenFileCtx','processOverWrite(DFSClient, WRITE3Request, Channel, int, IdUserGroup)',NULL),(10856,'TODO (YARN-2774): Enable service authorization','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager/src/main/java/org/apache/hadoop/yarn/server/sharedcachemanager/SharedCacheUploaderService.java',84,84,'org.apache.hadoop.yarn.server.sharedcachemanager.SharedCacheUploaderService','serviceStart()',NULL),(10857,'TODO (YARN-2774): proper security/authorization needs to be implemented','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager/src/main/java/org/apache/hadoop/yarn/server/sharedcachemanager/SharedCacheUploaderService.java',110,110,'org.apache.hadoop.yarn.server.sharedcachemanager.SharedCacheUploaderService','notify(SCMUploaderNotifyRequest)',NULL),(10858,'TODO (YARN-2781): we may want to have a more flexible policy of\ninstructing the node manager to upload only if it meets a certain\ncriteria\nuntil then we return true for now','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager/src/main/java/org/apache/hadoop/yarn/server/sharedcachemanager/SharedCacheUploaderService.java',131,134,'org.apache.hadoop.yarn.server.sharedcachemanager.SharedCacheUploaderService','canUpload(SCMUploaderCanUploadRequest)',NULL),(10859,'TODO Should calculate here before returning','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java',336,336,'org.apache.hadoop.yarn.util.FSDownload','unpack(File, File, Pattern)',NULL),(10860,'TODO Should calculate here before returning','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java',338,338,'org.apache.hadoop.yarn.util.FSDownload','unpack(File, File)',NULL),(10861,'TODO later:  add explicit \\\"isUber()\\\" checks of some sort (extend\nJobStatus?)--compare against MRJobConfig.JOB_UBERTASK_ENABLE value','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java',216,217,'org.apache.hadoop.mapreduce.v2.TestMRJobs','testSleepJob()',NULL),(10862,'TODO later:  add explicit \\\"isUber()\\\" checks of some sort (extend\nJobStatus?)--compare against MRJobConfig.JOB_UBERTASK_ENABLE value','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestMRJobs.java',241,242,'org.apache.hadoop.mapreduce.v2.TestMRJobs','testSleepJobInternal(boolean)',NULL),(10863,'this is hacky and temporary - it\'s to preserve the windows secure\nbehavior but enable non-secure windows to properly build the class\npath for access to job.jar/lib/xyz and friends (see YARN-2803)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/ContainerLaunch.java',771,773,'org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch','sanitizeEnv(Map<String, String>, Path, List<Path>, List<String>, Map<Path, List<String>>, Path)',NULL),(10864,'TODO: fail the app submission if attempts are more than 10 or something','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',104,104,'org.apache.hadoop.yarn.api.records.ContainerId','newInstance(ApplicationAttemptId, long)',NULL),(10865,'TODO: fail the app submission if attempts are more than 10 or something','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',116,116,'org.apache.hadoop.yarn.api.records.ContainerId','newContainerId(ApplicationAttemptId, long)',NULL),(10866,'TODO: Why thread local?\n^ NumberFormat instances are not threadsafe','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',115,116,'org.apache.hadoop.yarn.api.records.ContainerId','newInstance(ApplicationAttemptId, long)',NULL),(10867,'TODO: Why thread local?\n^ NumberFormat instances are not threadsafe','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java',127,128,'org.apache.hadoop.yarn.api.records.ContainerId','newContainerId(ApplicationAttemptId, long)',NULL),(10868,'EOFException should be retried as well.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java',742,742,'org.apache.hadoop.yarn.server.nodemanager.TestNodeStatusUpdater','setUp()',NULL),(10869,'TODO: DO it over RPC for maintaining similarity?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DockerContainerExecutor.java',136,136,'org.apache.hadoop.yarn.server.nodemanager.DockerContainerExecutor','copyFile(Path, Path, String)',NULL),(10870,'Maybe retry','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DockerContainerExecutor.java',402,402,'org.apache.hadoop.yarn.server.nodemanager.DockerContainerExecutor','copyFile(Path, Path, String)',NULL),(10871,'TODO: kill and cleanup the leaked container','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java',193,193,'org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService','startStorage()',NULL),(10872,'No need to fsync for the purposes of tests. This makes\nthe tests run much faster.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java',170,171,'org.apache.hadoop.hdfs.server.namenode.TestEditLog','readFields(DataInputStream, int)',NULL),(10873,'No need to fsync for the purposes of tests. This makes\nthe tests run much faster.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java',175,176,'org.apache.hadoop.hdfs.server.namenode.TestEditLog','resetSubFields()',NULL),(10874,'Should have incremented the batch count exactly once','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java',515,515,'org.apache.hadoop.hdfs.server.namenode.TestEditLog','readFields(DataInputStream, int)',NULL),(10875,'Should have incremented the batch count exactly once','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java',520,520,'org.apache.hadoop.hdfs.server.namenode.TestEditLog','resetSubFields()',NULL),(10876,'TODO: we might change these queue metrics around a little bit\nto match the semantics of the fair scheduler.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java',126,127,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSQueue','getQueueInfo(boolean, boolean)','DESIGN'),(10877,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java',-1,-1,'None','None',NULL),(10878,'do the move','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java',1203,1203,'org.apache.hadoop.hdfs.server.namenode.FSDirectory','unprotectedConcat(String, String[], long)',NULL),(10879,'do the move','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirConcatOp.java',186,186,'org.apache.hadoop.hdfs.server.namenode.FSDirConcatOp','unprotectedConcat(FSDirectory, String, String[], long)',NULL),(10880,'TODO (YARN-2774): Enable service authorization','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager/src/main/java/org/apache/hadoop/yarn/server/sharedcachemanager/ClientProtocolService.java',107,107,'org.apache.hadoop.yarn.server.sharedcachemanager.ClientProtocolService','serviceStart()',NULL),(10881,'If deletion failed then the directory scanner will cleanup the blocks\neventually.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',2626,2627,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','evictBlocks()','NOT_DESIGN'),(10882,'If deletion failed then the directory scanner will cleanup the blocks\neventually.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',2537,2538,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(10883,'move to ARCHIVE','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestMover.java',110,110,'org.apache.hadoop.hdfs.server.mover.TestMover','testScheduleBlockWithinSameNode()',NULL),(10884,'We should not be doing this.  This is move() not renameTo().\nbut for now,\nNOTE: yes, this is bad!  it\'s assuming much lower level behavior\nof rewriting the dst','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3622,3625,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(10885,'We should not be doing this.  This is move() not renameTo().\nbut for now,\nNOTE: yes, this is bad!  it\'s assuming much lower level behavior\nof rewriting the dst','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirRenameOp.java',440,443,'org.apache.hadoop.hdfs.server.namenode.FSDirRenameOp','renameToInt(FSDirectory, String, String, boolean)',NULL),(10886,'TODO: why do we use \'conf\' some places and \'jobConf\' others?','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/YARNRunner.java',395,395,'org.apache.hadoop.mapred.YARNRunner','createApplicationSubmissionContext(Configuration, String, Credentials)','DESIGN'),(10887,'TODO: Enable service authorization (see YARN-2774)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-sharedcachemanager/src/main/java/org/apache/hadoop/yarn/server/sharedcachemanager/SCMAdminProtocolService.java',94,94,'org.apache.hadoop.yarn.server.sharedcachemanager.SCMAdminProtocolService','serviceStart()',NULL),(10888,'Use owner entry from permission bits if user is owner.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSPermissionChecker.java',305,305,'org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker','checkAccessAcl(INode, int, FsAction, FsPermission, List<AclEntry>)',NULL),(10889,'Use owner entry from permission bits if user is owner.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSPermissionChecker.java',293,293,'org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker','checkAccessAcl(INode, int, FsAction, FsPermission, AclFeature)',NULL),(10890,'Prior to assigning the unused resources, process each queue as follows:\nIf current > guaranteed, idealAssigned = guaranteed + untouchable extra','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',377,378,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(10891,'Although queueC(appB) is way over capacity and is untouchable,\nqueueD(appC) is preemptable. Request should be filled from queueD(appC).','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/TestProportionalCapacityPreemptionPolicy.java',478,479,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.TestProportionalCapacityPreemptionPolicy','setup()',NULL),(10892,'Restore group permissions from the feature\'s entry to permission\nbits, overwriting the mask, which is not part of a minimal ACL.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/AclStorage.java',260,261,'org.apache.hadoop.hdfs.server.namenode.AclStorage','removeINodeAcl(INode, int)',NULL),(10893,'Restore group permissions from the feature\'s entry to permission\nbits, overwriting the mask, which is not part of a minimal ACL.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java',228,229,'org.apache.hadoop.hdfs.server.namenode.FSDirAclOp','unprotectedRemoveAcl(FSDirectory, String)',NULL),(10894,'At least one permission bits should be available.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java',247,247,'org.apache.hadoop.fs.permission.AclStatus','getEffectivePermission(AclEntry, FsPermission)',NULL),(10895,'Restore group permissions from the feature\'s entry to permission\nbits, overwriting the mask, which is not part of a minimal ACL.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java',230,231,'org.apache.hadoop.hdfs.server.namenode.FSDirAclOp','unprotectedRemoveAcl(FSDirectory, String)',NULL),(10896,'Restore group permissions from the feature\'s entry to permission\nbits, overwriting the mask, which is not part of a minimal ACL.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java',229,230,'org.apache.hadoop.hdfs.server.namenode.FSDirAclOp','unprotectedRemoveAcl(FSDirectory, INodesInPath)',NULL),(10897,'We should not be doing this.  This is move() not renameTo().\nbut for now,\nNOTE: yes, this is bad!  it\'s assuming much lower level behavior\nof rewriting the dst','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirRenameOp.java',482,485,'org.apache.hadoop.hdfs.server.namenode.FSDirRenameOp','renameToInt(FSDirectory, String, String, boolean)','DESIGN'),(10898,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirRenameOp.java',-1,-1,'None','None',NULL),(10899,'Note: We should not be doing this.  This is move() not renameTo().','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirRenameOp.java',486,486,'org.apache.hadoop.hdfs.server.namenode.FSDirRenameOp','renameToInt(FSDirectory, String, String, boolean)',NULL),(10900,'Release write lock here for better performance and avoiding deadlocks.\nrunnableApps can be in unsorted state because of this section,\nbut we can accept it in practice since the probability is low.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java',255,257,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSLeafQueue','assignContainer(FSSchedulerNode)',NULL),(10901,'Initialize plan based on move flag','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/reservation/TestSchedulerPlanFollowerBase.java',56,56,'org.apache.hadoop.yarn.server.resourcemanager.reservation.TestSchedulerPlanFollowerBase','testPlanFollower(boolean)',NULL),(10902,'TODO Does MaxCapacity need to be set for fairScheduler ?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FairScheduler.java',1648,1648,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler','setEntitlement(String, QueueEntitlement)',NULL),(10903,'Should probably be moved from yarn-default.xml to mapred-default.xml','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java',87,87,'org.apache.hadoop.yarn.conf.TestYarnConfigurationFields','initializeMemberVariables()',NULL),(10904,'TODO JDK7 SWITCH','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/client/impl/zk/RegistrySecurity.java',195,195,'org.apache.hadoop.registry.client.impl.zk.RegistrySecurity','None','NOT_DESIGN'),(10905,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/client/impl/zk/RegistrySecurity.java',-1,-1,'None','None',NULL),(10906,'Shouldn\'t happen, because invokeAll waits for all Futures to be ready','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/BlockStorageLocationUtil.java',184,184,'org.apache.hadoop.hdfs.BlockStorageLocationUtil','createVolumeBlockLocationCallables(Configuration, Map<DatanodeInfo, List<LocatedBlock>>, int, boolean)',NULL),(10907,'Shouldn\'t happen, because invokeAll waits for all Futures to be ready','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/BlockStorageLocationUtil.java',188,188,'org.apache.hadoop.hdfs.BlockStorageLocationUtil','createVolumeBlockLocationCallables(Configuration, Map<DatanodeInfo, List<LocatedBlock>>, int, boolean, Span)',NULL),(10908,'Although queueC(appB) is way over capacity and is untouchable,\nqueueD(appC) is preemptable. Request should be filled from queueD(appC).','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/TestProportionalCapacityPreemptionPolicy.java',511,512,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.TestProportionalCapacityPreemptionPolicy','getValue()',NULL),(10909,'shouldn\'t need to wait for block recovery','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFileTruncate.java',709,709,'org.apache.hadoop.hdfs.server.namenode.TestFileTruncate','testTruncateShellCommandOnBlockBoundary()',NULL),(10910,'shouldn\'t need to wait for block recovery','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFileTruncate.java',725,725,'org.apache.hadoop.hdfs.server.namenode.TestFileTruncate','testTruncateShellCommandWithWaitOption()',NULL),(10911,'TODO: Use stateMachine level method?','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',967,967,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','getMemoryRequired(Configuration, TaskType)',NULL),(10912,'TODO: Use stateMachine level method?','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',956,956,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','getMemoryRequired(JobConf, TaskType)',NULL),(10913,'TODO Ensure not 0','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',1414,1414,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','getMemoryRequired(Configuration, TaskType)',NULL),(10914,'TODO Ensure not 0','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',1403,1403,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','getMemoryRequired(JobConf, TaskType)',NULL),(10915,'long to int? TODO: FIX. Same below','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',1424,1424,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','getMemoryRequired(Configuration, TaskType)',NULL),(10916,'long to int? TODO: FIX. Same below','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',1413,1413,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','getMemoryRequired(JobConf, TaskType)',NULL),(10917,'Trigger each of the DNs to scan this block immediately.\nThe block pool scanner doesn\'t run frequently enough on its own\nto notice these, and due to HDFS-1371, the client won\'t report\nbad blocks to the NN when all replicas are bad.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeBlockScanner.java',219,222,'org.apache.hadoop.hdfs.TestDatanodeBlockScanner','waitForVerification(int, FileSystem, Path, int, long, long)',NULL),(10918,'Extend Block because in the DN process there\'s a 1-to-1 correspondence of\nBlockScanInfo to Block instances, so by extending rather than containing\nBlock, we can save a bit of Object overhead (about 24 bytes per block\nreplica.)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolSliceScanner.java',121,124,'org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner','None',NULL),(10919,'Should we change throttler bandwidth every time bytesLeft changes?\nnot really required.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolSliceScanner.java',233,234,'org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner','compare(BlockScanInfo, BlockScanInfo)',NULL),(10920,'If there are a lot of blocks, this returns a random time with in\nthe scan period. Otherwise something sooner.','Block','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolSliceScanner.java',288,290,'org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner','compare(BlockScanInfo, BlockScanInfo)',NULL),(10921,'TODO: Synchronization','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java',1004,1004,'org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService','getLocalFileContext(Configuration)','NOT_DESIGN'),(10922,'TODO fail? Already translated several times...','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java',1020,1020,'org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService','getLocalFileContext(Configuration)','DESIGN'),(10923,'We have 4 kinds of method\n1. getXXX() : Resource\n2. getXXX(label) : Resource\n3. set/inc/decXXX(res) : void\n4. set/inc/decXXX(label, res) : void','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/TestResourceUsage.java',71,75,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.TestResourceUsage','executeByName(ResourceUsage, String, Resource, String)',NULL),(10924,'do the move','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirConcatOp.java',187,187,'org.apache.hadoop.hdfs.server.namenode.FSDirConcatOp','unprotectedConcat(FSDirectory, String, String[], long)','NOT_DESIGN'),(10925,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirConcatOp.java',-1,-1,'None','None',NULL),(10926,'TODO: quota verification may fail the deletion here. We should not\ncount the snapshot diff into quota usage in the future.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java',239,240,'org.apache.hadoop.hdfs.server.namenode.FSDirDeleteOp','unprotectedDelete(FSDirectory, INodesInPath, BlocksMapUpdateInfo, List<INode>, long)','NOT_DESIGN'),(10927,'Keep heartbeating until RM thinks the token has been updated','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/rm/TestRMContainerAllocator.java',2353,2353,'org.apache.hadoop.mapreduce.v2.app.rm.TestRMContainerAllocator','testAMRMTokenUpdate()',NULL),(10928,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirDeleteOp.java',-1,-1,'None','None',NULL),(10929,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfo.java',390,390,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfo','equals(Object)',NULL),(10930,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguous.java',399,399,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoContiguous','equals(Object)',NULL),(10931,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoUnderConstruction.java',136,136,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoUnderConstruction','equals(Object)',NULL),(10932,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java',136,136,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoContiguousUnderConstruction','equals(Object)','NOT_DESIGN'),(10933,'BlockInfo\nBlockInfoUnderConstruction participates in maps the same way as BlockInfo','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoUnderConstruction.java',361,362,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoUnderConstruction','hashCode()',NULL),(10934,'BlockInfo\nBlockInfoUnderConstruction participates in maps the same way as BlockInfo','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java',359,360,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoContiguousUnderConstruction','hashCode()',NULL),(10935,'Somehow, a cache report with the block arrived, but the block\nreports from the DataNode haven\'t (yet?) described such a block.\nAlternately, the NameNode might have invalidated the block, but the\nDataNode hasn\'t caught up.  In any case, we want to tell the DN\nto uncache this.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/CacheReplicationMonitor.java',458,462,'org.apache.hadoop.hdfs.server.blockmanagement.CacheReplicationMonitor','findReasonForNotCaching(CachedBlock, BlockInfo)',NULL),(10936,'When a cached block changes state from complete to some other state\non the DataNode (perhaps because of append), it will begin the\nuncaching process.  However, the uncaching process is not\ninstantaneous, especially if clients have pinned the block.  So\nthere may be a period of time when incomplete blocks remain cached\non the DataNodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/CacheReplicationMonitor.java',465,470,'org.apache.hadoop.hdfs.server.blockmanagement.CacheReplicationMonitor','findReasonForNotCaching(CachedBlock, BlockInfo)',NULL),(10937,'TODO Remove this code that handles backward compatibility.','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/db/DBInputFormat.java',185,185,'org.apache.hadoop.mapreduce.lib.db.DBInputFormat','getConnection()',NULL),(10938,'Any user may perform this operation if authorization is not enabled','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/security/AdminACLsManager.java',134,134,'org.apache.hadoop.yarn.security.AdminACLsManager','checkAccess(UserGroupInformation)','NOT_DESIGN'),(10939,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/security/AdminACLsManager.java',-1,-1,'None','None',NULL),(10940,'TODO: storage type quota reporting HDFS-7701.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INode.java',451,451,'org.apache.hadoop.hdfs.server.namenode.INode','getId()','DESIGN'),(10941,'pass a new created rand so as to get a uniform distribution each time\nwithout too much collisions (look at the do-while loop in getDatanodes)','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFavoredNodesEndToEnd.java',169,170,'org.apache.hadoop.hdfs.server.namenode.TestFavoredNodesEndToEnd','testFavoredNodesEndToEndForAppend()',NULL),(10942,'One common reason is that NameNode could be in safe mode.\nShould we keep on retrying in that case?','Block','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java',270,272,'org.apache.hadoop.hdfs.server.datanode.BPServiceActor','isAlive()','DESIGN'),(10943,'reset future BRs for randomness','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java',256,256,'org.apache.hadoop.hdfs.server.datanode.BPServiceActor','isAlive()',NULL),(10944,'Set a really long socket timeout to avoid test timing issues.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/TestUnbuffer.java',52,52,'org.apache.hadoop.fs.TestUnbuffer','testUnbufferClosesSockets()',NULL),(10945,'if enabled, check to see if could we potentially use this node instead\nof a reserved node if the application has reserved containers\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1025,1027,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10946,'if enabled, check to see if could we potentially use this node instead\nof a reserved node if the application has reserved containers\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',953,955,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(10947,'we could potentially use this node instead of reserved node','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1054,1054,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10948,'we could potentially use this node instead of reserved node','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',984,984,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(10949,'Otherwise, if any of the label of this node beyond queue limit, we\ncannot allocate on this node. Consider a small epsilon here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1059,1060,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10950,'Otherwise, if any of the label of this node beyond queue limit, we\ncannot allocate on this node. Consider a small epsilon here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',989,990,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(10951,'Compute user limit respect requested labels,\nTODO, need consider headroom respect labels also','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1108,1109,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10952,'Compute user limit respect requested labels,\nTODO, need consider headroom respect labels also','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1040,1041,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(10953,'Check queue max-capacity limit,\nTODO: Consider reservation on labels','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1419,1420,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10954,'Check queue max-capacity limit,\nTODO: Consider reservation on labels','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1351,1352,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(10955,'return a single Resource capturing the overal amount of pending resources','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1952,1952,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','getCapacityFromConf()',NULL),(10956,'return a single Resource capturing the overal amount of pending resources','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1882,1882,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(10957,'Eventually the NN should report four volume failures','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeVolumeFailureReporting.java',352,352,'org.apache.hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureReporting','testMultipleVolFailuresOnNode()',NULL),(10958,'seconds until we give up trying to establish a connection to s3','Line','hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/Constants.java',46,46,'org.apache.hadoop.fs.s3a.Constants','None',NULL),(10959,'If PKT_MAX_HEADER_LEN is 257, actual packet size come to over 64KB\nwithout a fix on HDFS-7308.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSOutputStream.java',95,96,'org.apache.hadoop.hdfs.TestDFSOutputStream','testComputePacketChunkSize()',NULL),(10960,'TODO: since we have tmp directory, we can support \\\"undo\\\" with failures','Line','hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/DistCpSync.java',88,88,'org.apache.hadoop.tools.DistCpSync','sync(DistCpOptions, Configuration)','NOT_DESIGN'),(10961,'TODO: Needs to be fixed. DatanodeUuid is not storageID.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',542,542,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager','testSafeModeIBR()','NOT_DESIGN'),(10962,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',-1,-1,'None','None',NULL),(10963,'TODO: Needs to be fixed. DatanodeUuid is not storageID.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',590,590,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager','testSafeModeIBRAfterIncremental()','NOT_DESIGN'),(10964,'a hack... couldn\'t find a way to trigger expired event.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStoreZKClientConnections.java',97,97,'org.apache.hadoop.yarn.server.resourcemanager.recovery.TestZKRMStateStoreZKClientConnections','processWatchEvent(WatchedEvent)',NULL),(10965,'a hack... couldn\'t find a way to trigger expired event.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStoreZKClientConnections.java',100,100,'org.apache.hadoop.yarn.server.resourcemanager.recovery.TestZKRMStateStoreZKClientConnections','processWatchEvent(ZooKeeper, WatchedEvent)','DESIGN'),(10966,'setup pipeline to append to the last block XXX retries??','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',488,488,'org.apache.hadoop.hdfs.DFSOutputStream','createPacket(int, int, long, long)',NULL),(10967,'setup pipeline to append to the last block XXX retries??','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',335,335,'org.apache.hadoop.hdfs.DFSOutputStream','createPacket(int, int, long, long, boolean)',NULL),(10968,'TODO: YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',231,231,'org.apache.hadoop.yarn.server.webapp.AppBlock','render(Block)',NULL),(10969,'TODO: replace with node http address (YARN-1884)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',312,312,'org.apache.hadoop.yarn.server.webapp.AppBlock','render(Block)',NULL),(10970,'TODO: YARN-3284\nThe containerLocality metrics will be exposed from AttemptReport','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',334,335,'org.apache.hadoop.yarn.server.webapp.AppBlock','createContainerLocalityTable(Block)',NULL),(10971,'TODO: YARN-3284\nTODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',337,338,'org.apache.hadoop.yarn.server.webapp.AppBlock','createContainerLocalityTable(Block)',NULL),(10972,'TODO: the request should take the params like what RMWebServices does\nin YARN-1819.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/WebServices.java',153,154,'org.apache.hadoop.yarn.server.webapp.WebServices','getApps(HttpServletRequest, HttpServletResponse, String, Set<String>, String, String, String, String, String, String, String, String, Set<String>)',NULL),(10973,'TODO: remove the following condition. It is still here because\nthe history side implementation of ApplicationBaseProtocol\nhasn\'t filtering capability (YARN-1819).','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppsBlock.java',102,104,'org.apache.hadoop.yarn.server.webapp.AppsBlock','render(Block)',NULL),(10974,'TODO: replace with node http address (YARN-1884)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',195,195,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','render(Block)',NULL),(10975,'Turn the blocks per interval way down','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDecommission.java',1029,1029,'org.apache.hadoop.hdfs.TestDecommission','testBlocksPerInterval()',NULL),(10976,'Orphan block, will be invalidated eventually. Skip.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java',558,558,'org.apache.hadoop.hdfs.server.blockmanagement.DecommissionManager','processBlocksForDecomInternal(DatanodeDescriptor, Iterator<BlockInfoContiguous>, List<BlockInfoContiguous>, boolean)',NULL),(10977,'TODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',327,327,'org.apache.hadoop.yarn.server.webapp.AppBlock','render(Block)',NULL),(10978,'TODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',226,226,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','render(Block)',NULL),(10979,'TODO: YARN-3284\nThe containerLocality metrics will be exposed from AttemptReport','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',230,231,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','createContainerLocalityTable(Block)',NULL),(10980,'TODO: YARN-3284\nTODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',233,234,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','createContainerLocalityTable(Block)',NULL),(10981,'if T then disable Nagle\'s Algorithm\ndo we need to send ping message\nhow often sends ping to the server in msecs\nping message','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java',387,390,'org.apache.hadoop.ipc.Client','setCallIdAndRetryCount(int, int)','NOT_DESIGN'),(10982,'if T then disable Nagle\'s Algorithm\nif T then use low-delay QoS\ndo we need to send ping message\nhow often sends ping to the server in msecs\nping message','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java',387,391,'org.apache.hadoop.ipc.Client','setCallIdAndRetryCount(int, int)',NULL),(10983,'TODO: set the backingStore.properties.CopyState and\nupdate azureNativeFileSystemStore.waitForCopyToComplete','Line','hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/MockStorageInterface.java',435,436,'org.apache.hadoop.fs.azure.MockStorageInterface','startCopyFromBlob(URI, OperationContext)',NULL),(10984,'Rename the source blob to the destination blob by copying it to\nthe destination blob then deleting it.\n\nCopy blob operation in Azure storage is very costly. It will be highly\nlikely throttled during Azure storage gc. Short term fix will be using\na more intensive exponential retry policy when the cluster is getting\nthrottled.','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2449,2455,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','rename(String, String, boolean, SelfRenewingLease)',NULL),(10985,'TODO: replace with node http address (YARN-1884)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',308,308,'org.apache.hadoop.yarn.server.webapp.AppBlock','render(Block)','DESIGN'),(10986,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',-1,-1,'None','None',NULL),(10987,'TODO: replace with node http address (YARN-1884)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',203,203,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','render(Block)','DESIGN'),(10988,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',-1,-1,'None','None',NULL),(10989,'HACK - Use this as a global lock in the JNI layer','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.java',40,40,'org.apache.hadoop.io.compress.snappy.SnappyDecompressor','None','DESIGN'),(10990,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.java',-1,-1,'None','None',NULL),(10991,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/bzip2/Bzip2Decompressor.java',-1,-1,'None','None',NULL),(10992,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/bzip2/Bzip2Compressor.java',-1,-1,'None','None',NULL),(10993,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/lz4/Lz4Compressor.java',-1,-1,'None','None',NULL),(10994,'HACK - Use this as a global lock in the JNI layer','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/snappy/SnappyCompressor.java',40,40,'org.apache.hadoop.io.compress.snappy.SnappyCompressor','None','DESIGN'),(10995,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/snappy/SnappyCompressor.java',-1,-1,'None','None',NULL),(10996,'HACK - Use this as a global lock in the JNI layer','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/zlib/ZlibDecompressor.java',38,38,'org.apache.hadoop.io.compress.zlib.ZlibDecompressor','None','DESIGN'),(10997,'None','None','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.java',-1,-1,'None','None',NULL),(10998,'TODO: The condition: containerId.getId() == 1 to determine an AM container\nis not always true.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java',452,453,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.AppLogAggregatorImpl','uploadLogsForContainers()',NULL),(10999,'TODO: The condition: containerId.getId() == 1 to determine an AM container\nis not always true.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java',457,458,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.AppLogAggregatorImpl','uploadLogsForContainers(boolean)',NULL),(11000,'reserve upper bits for future use.  decoding masks off these bits to\nallow compatibility for the current through future release that may\nstart using the bits','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/BlockListAsLongs.java',230,232,'org.apache.hadoop.hdfs.protocol.BlockListAsLongs','getNumberOfBlocks()',NULL),(11001,'zig-zag to reduce size of legacy blocks and mask off bits\nwe don\'t (yet) understand','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/BlockListAsLongs.java',324,325,'org.apache.hadoop.hdfs.protocol.BlockListAsLongs','getNumberOfBlocks()',NULL),(11002,'TODO 0 datanode exception will not be retried by dfs client, fix\nthat separately.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestFSRMStateStore.java',280,281,'org.apache.hadoop.yarn.server.resourcemanager.recovery.TestFSRMStateStore','testFSRMStateStoreClientRetry()','NOT_DESIGN'),(11003,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestFSRMStateStore.java',-1,-1,'None','None',NULL),(11004,'if enabled, check to see if could we potentially use this node instead\nof a reserved node if the application has reserved containers\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',964,966,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)','DESIGN'),(11005,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',-1,-1,'None','None',NULL),(11006,'we could potentially use this node instead of reserved node','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',995,995,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)','DESIGN'),(11007,'Otherwise, if any of the label of this node beyond queue limit, we\ncannot allocate on this node. Consider a small epsilon here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1000,1001,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11008,'Otherwise, if any of the label of this node beyond queue limit, we\ncannot allocate on this node. Consider a small epsilon here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',485,486,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, Set<String>, ResourceLimits, Resource, Resource)',NULL),(11009,'we could potentially use this node instead of reserved node','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',522,522,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue','assignToQueueIfUnreserve(Resource)','DESIGN'),(11010,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',-1,-1,'None','None',NULL),(11011,'TODO: need consider non-empty node labels when resource limits supports\nnode labels\nEven if ParentQueue will set limits respect child\'s max queue capacity,\nbut when allocating reserved container, CapacityScheduler doesn\'t do\nthis. So need cap limits by queue\'s max capacity here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1692,1696,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11012,'Current limit resource: For labeled resource: limit = queue-max-resource\n(TODO, this part need update when we support labeled-limit) For\nnon-labeled resource: limit = min(queue-max-resource,\nlimit-set-by-parent)','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',416,421,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','getCurrentLimitResource(String, Resource, ResourceLimits)',NULL),(11013,'if reservation continous looking enabled, check to see if could we\npotentially use this node instead of a reserved node if the application\nhas reserved containers.\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',456,459,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, Set<String>, ResourceLimits, Resource, Resource)',NULL),(11014,'TODO, now we only consider limits for parent for non-labeled\nresources, should consider labeled resources as well.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java',1068,1069,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler','allocateContainersToNode(FiCaSchedulerNode)',NULL),(11015,'TODO need to render applicationHeadRoom value from\nApplicationAttemptMetrics after YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',186,187,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','render(Block)','DESIGN'),(11016,'Because WebAppUtils#getResolvedAddress tries to resolve the hostname, we add a static mapping for dummy hostnames\nto make this test run anywhere without having to give some resolvable hostnames','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestWebAppUtils.java',39,40,'org.apache.hadoop.yarn.util.TestWebAppUtils','None',NULL),(11017,'TODO: use setParents API once it\'s available from HTrace 3.2','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',439,439,'org.apache.hadoop.hdfs.DFSOutputStream','createPacket(int, int, long, long, boolean)',NULL),(11018,'The block that the client claims is the current last block\ndoesn\'t match up with what we think is the last block. There are\nfour possibilities:\n1) This is the first block allocation of an append() pipeline\nwhich started appending exactly at a block boundary.\nIn this case, the client isn\'t passed the previous block,\nso it makes the allocateBlock() call with previous=null.\nWe can distinguish this since the last block of the file\nwill be exactly a full block.\n2) This is a retry from a client that missed the response of a\nprior getAdditionalBlock() call, perhaps because of a network\ntimeout, or because of an HA failover. In that case, we know\nby the fact that the client is re-issuing the RPC that it\nnever began to write to the old block. Hence it is safe to\nto return the existing block.\n3) This is an entirely bogus request/bug -- we should error out\nrather than potentially appending a new block with an empty\none in the middle, etc\n4) This is a retry from a client that timed out while\nthe prior getAdditionalBlock() is still being processed,\ncurrently working on chooseTarget().\nThere are no means to distinguish between the first and\nthe second attempts in Part I, because the first one hasn\'t\nchanged the namesystem state yet.\nWe run this analysis again in Part II where case 4 is impossible.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3105,3129,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()','DESIGN'),(11019,'Older clients may not have given us an inode ID to work with.\nIn this case, we have to try to resolve the path and hope it\nhasn\'t changed or been deleted since the file was opened for write.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3141,3143,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11020,'Newer clients pass the inode ID, so we can just get the inode\ndirectly.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3147,3148,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11021,'The block that the client claims is the current last block\ndoesn\'t match up with what we think is the last block. There are\nfour possibilities:\n1) This is the first block allocation of an append() pipeline\nwhich started appending exactly at or exceeding the block boundary.\nIn this case, the client isn\'t passed the previous block,\nso it makes the allocateBlock() call with previous=null.\nWe can distinguish this since the last block of the file\nwill be exactly a full block.\n2) This is a retry from a client that missed the response of a\nprior getAdditionalBlock() call, perhaps because of a network\ntimeout, or because of an HA failover. In that case, we know\nby the fact that the client is re-issuing the RPC that it\nnever began to write to the old block. Hence it is safe to\nto return the existing block.\n3) This is an entirely bogus request/bug -- we should error out\nrather than potentially appending a new block with an empty\none in the middle, etc\n4) This is a retry from a client that timed out while\nthe prior getAdditionalBlock() is still being processed,\ncurrently working on chooseTarget().\nThere are no means to distinguish between the first and\nthe second attempts in Part I, because the first one hasn\'t\nchanged the namesystem state yet.\nWe run this analysis again in Part II where case 4 is impossible.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3158,3182,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11022,'TODO: YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',227,227,'org.apache.hadoop.yarn.server.webapp.AppBlock','render(Block)','NOT_DESIGN'),(11023,'TODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppBlock.java',324,324,'org.apache.hadoop.yarn.server.webapp.AppBlock','render(Block)','NOT_DESIGN'),(11024,'TODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',241,241,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','render(Block)','NOT_DESIGN'),(11025,'TODO: YARN-3284\nThe containerLocality metrics will be exposed from AttemptReport','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',245,246,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','createContainerLocalityTable(Block)','DESIGN'),(11026,'TODO: YARN-3284\nTODO:YARN-3284','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppAttemptBlock.java',248,249,'org.apache.hadoop.yarn.server.webapp.AppAttemptBlock','createContainerLocalityTable(Block)','NOT_DESIGN'),(11027,'after truncation the quota usage should be 2.5 block * repl','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestTruncateQuotaUpdate.java',175,175,'org.apache.hadoop.hdfs.server.namenode.TestTruncateQuotaUpdate','run()','NOT_DESIGN'),(11028,'after truncation the quota usage should be 3 block * repl','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestTruncateQuotaUpdate.java',219,219,'org.apache.hadoop.hdfs.server.namenode.TestTruncateQuotaUpdate','run()','NOT_DESIGN'),(11029,'am1 asks 4 GB resource instead of 8 * GB for priority=1','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestCapacityScheduler.java',2642,2642,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestCapacityScheduler','testQueueHierarchyPendingResourceUpdate()',NULL),(11030,'We assume that a block can be on only one storage in a DataNode.\nThat\'s why we pass in the DatanodeDescriptor rather than the\nDatanodeStorageInfo.\nTODO: remove this assumption in case we want to put a block on\nmore than one storage on a datanode (and because it\'s a difficult\nassumption to really enforce)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',1871,1876,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11031,'Similar to TestTriggerBlockReport, set a really long value for\ndfs.heartbeat.interval, so that incremental block reports and heartbeats\nwon\'t be sent during this test unless they\'re triggered\nmanually.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeHotSwapVolumes.java',722,725,'org.apache.hadoop.hdfs.server.datanode.TestDataNodeHotSwapVolumes','testFullBlockReportAfterRemovingVolumes()',NULL),(11032,'setup pipeline to append to the last block XXX retries??','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',332,332,'org.apache.hadoop.hdfs.DFSOutputStream','createPacket(int, int, long, long, boolean)',NULL),(11033,'setup pipeline to append to the last block XXX retries??','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',281,281,'org.apache.hadoop.hdfs.DataStreamer','createSocketForPipeline(DatanodeInfo, int, DFSClient)',NULL),(11034,'TODO: use setParents API once it\'s available from HTrace 3.2','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',393,393,'org.apache.hadoop.hdfs.DataStreamer','createSocketForPipeline(DatanodeInfo, int, DFSClient)',NULL),(11035,'Give DNs time to send in bad reports. In real situations,\ngood reports should follow bad ones, if client committed\nwith those nodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',1161,1163,'org.apache.hadoop.hdfs.DFSOutputStream','setupPipelineForAppendOrRecovery()',NULL),(11036,'Give DNs time to send in bad reports. In real situations,\ngood reports should follow bad ones, if client committed\nwith those nodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',1223,1225,'org.apache.hadoop.hdfs.DataStreamer','setupPipelineForAppendOrRecovery()',NULL),(11037,'Use owner entry from permission bits if user is owner.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSPermissionChecker.java',297,297,'org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker','checkAccessAcl(INode, int, FsAction, FsPermission, AclFeature)',NULL),(11038,'Use owner entry from permission bits if user is owner.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSPermissionChecker.java',351,351,'org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker','checkAccessAcl(INodeAttributes, String, FsAction, FsPermission, AclFeature)',NULL),(11039,'TODO have to figure this out with inodeattribute provider','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSPermissionChecker.java',276,276,'org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker','checkSubAccess(byte[][], int, INode, int, FsAction, boolean)',NULL),(11040,'TODO: This class too should be used from DefaultContainerExecutor.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DockerContainerExecutor.java',502,502,'org.apache.hadoop.yarn.server.nodemanager.DockerContainerExecutor','copyFile(Path, Path, String)',NULL),(11041,'Poll and follow ANN txns very often, for purpose of testing.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/metrics/TestNameNodeMetrics.java',435,435,'org.apache.hadoop.hdfs.server.namenode.metrics.TestNameNodeMetrics','testTransactionSinceLastCheckpointMetrics()',NULL),(11042,'TODO as part of YARN-2729\nNeed to get the implementation of provider service and return','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java',116,117,'org.apache.hadoop.yarn.server.nodemanager.NodeManager','createNodeStatusUpdater(Context, Dispatcher, NodeHealthCheckerService)',NULL),(11043,'TODO: remove the following condition. It is still here because\nthe history side implementation of ApplicationBaseProtocol\nhasn\'t filtering capability (YARN-1819).','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/AppsBlock.java',118,120,'org.apache.hadoop.yarn.server.webapp.AppsBlock','renderData(Block)',NULL),(11044,'TODO: remove the following condition. It is still here because\nthe history side implementation of ApplicationBaseProtocol\nhasn\'t filtering capability (YARN-1819).','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMAppsBlock.java',66,68,'org.apache.hadoop.yarn.server.resourcemanager.webapp.RMAppsBlock','renderData(Block)',NULL),(11045,'TODO: since we have tmp directory, we can support \\\"undo\\\" with failures\nset the source path using the snapshot path','Line','hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/DistCpSync.java',89,90,'org.apache.hadoop.tools.DistCpSync','sync(DistCpOptions, Configuration)',NULL),(11046,'Hang too long, just bail out. This is not supposed to happen.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1455,1455,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(11047,'TODO: Fix storageID','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtil.java',366,366,'org.apache.hadoop.hdfs.web.JsonUtil','toDatanodeInfo(Map<?, ?>)',NULL),(11048,'TODO: Fix storageID','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtilClient.java',224,224,'org.apache.hadoop.hdfs.web.JsonUtilClient','toDatanodeInfo(Map<?, ?>)',NULL),(11049,'The Response (resp) below is what the server will send to client\n\nBEFORE HDFS-6475 fix, the resp.entity is','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDelegationTokensWithHA.java',432,434,'org.apache.hadoop.hdfs.server.namenode.ha.TestDelegationTokensWithHA','testDelegationTokenStandbyNNAppearFirst()',NULL),(11050,'The Response (resp) below is what the server will send to client\n\nBEFORE HDFS-6475 fix, the resp.entity is','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHDFSForHA.java',181,183,'org.apache.hadoop.hdfs.web.TestWebHDFSForHA','testClientFailoverWhenStandbyNNHasStaleCredentials()',NULL),(11051,'Sane systems know about UTF-8, so this should never happen.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/resources/Param.java',57,57,'org.apache.hadoop.hdfs.web.resources.Param','compare(Param<?, ?>, Param<?, ?>)',NULL),(11052,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',196,197,'org.apache.hadoop.tracing.TestTracing','testGetSpanReceiverHost()',NULL),(11053,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',157,158,'org.apache.hadoop.tracing.TestTracing','testTracing()',NULL),(11054,'We can\'t really do a delete test here. Linux cgroups\nimplementation provides additional semantics - the cgroup cannot be\ndeleted if there are any tasks still running in the cgroup even if\nthe user attempting the delete has the file permissions to do so - we\ncannot simulate that here. Even if we create a dummy \'tasks\' file, we\nwouldn\'t be able to simulate the delete behavior we need, since a cgroup\ncan be deleted using using \'rmdir\' if the tasks file is empty. Such a\ndelete is not possible with a regular non-empty directory.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TestCGroupsHandlerImpl.java',215,222,'org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.TestCGroupsHandlerImpl','testCGroupOperations()',NULL),(11055,'Current limit resource: For labeled resource: limit = queue-max-resource\n(TODO, this part need update when we support labeled-limit) For\nnon-labeled resource: limit = min(queue-max-resource,\nlimit-set-by-parent)','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',439,444,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','getCurrentLimitResource(String, Resource, ResourceLimits)',NULL),(11056,'Current limit resource: For labeled resource: limit = queue-max-resource\n(TODO, this part need update when we support labeled-limit) For\nnon-labeled resource: limit = min(queue-max-resource,\nlimit-set-by-parent)','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',430,435,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','getCurrentLimitResource(String, Resource, ResourceLimits, SchedulingMode)',NULL),(11057,'if reservation continous looking enabled, check to see if could we\npotentially use this node instead of a reserved node if the application\nhas reserved containers.\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',479,482,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, Set<String>, ResourceLimits, Resource, Resource)','DESIGN'),(11058,'resource-without-reserved = used - reserved','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',485,485,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, Resource, SchedulingMode)',NULL),(11059,'when total-used-without-reserved-resource < currentLimit, we still\nhave chance to allocate on this node by unreserving some containers','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',489,490,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, Resource, SchedulingMode)',NULL),(11060,'if reservation continous looking enabled, check to see if could we\npotentially use this node instead of a reserved node if the application\nhas reserved containers.\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',477,480,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, Resource, SchedulingMode)',NULL),(11061,'Otherwise, if any of the label of this node beyond queue limit, we\ncannot allocate on this node. Consider a small epsilon here.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',508,509,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, Set<String>, ResourceLimits, Resource, Resource)','DESIGN'),(11062,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',-1,-1,'None','None',NULL),(11063,'This test is pretty much similar to testContainerAllocateWithLabel.\nDifference is, this test doesn\'t specify label expression in ResourceRequest,\ninstead, it uses default queue label expression','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestContainerAllocation.java',640,642,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestContainerAllocation','testContainerAllocateWithDefaultQueueLabels()',NULL),(11064,'This test is pretty much similar to testContainerAllocateWithLabel.\nDifference is, this test doesn\'t specify label expression in ResourceRequest,\ninstead, it uses default queue label expression','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestNodeLabelContainerAllocation.java',384,386,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestNodeLabelContainerAllocation','testContainerAllocateWithDefaultQueueLabels()',NULL),(11065,'Get current limited resource:\n- When doing RESPECT_PARTITION_EXCLUSIVITY allocation, we will respect\nqueues\' max capacity.\n- When doing IGNORE_PARTITION_EXCLUSIVITY allocation, we will not respect\nqueue\'s max capacity, queue\'s max capacity on the partition will be\nconsidered to be 100%. Which is a queue can use all resource in the\npartition.\nDoing this because: for non-exclusive allocation, we make sure there\'s\nidle resource on the partition, to avoid wastage, such resource will be\nleveraged as much as we can, and preemption policy will reclaim it back\nwhen partitoned-resource-request comes back.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',462,472,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, Resource, SchedulingMode)',NULL),(11066,'This test is pretty much similar to testContainerAllocateWithLabel.\nDifference is, this test doesn\'t specify label expression in ResourceRequest,\ninstead, it uses default queue label expression','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestWorkPreservingRMRestartForNodeLabel.java',127,129,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestWorkPreservingRMRestartForNodeLabel','testWorkPreservingRestartForNodeLabel()',NULL),(11067,'The implementors of RawLocalFileSystem were trying to be very smart.\nThey implement FileStatus#getOwener lazily -- the object\nreturned is really a RawLocalFileSystem that expect the\nFileStatus#getPath to be unchanged so that it can get owner when needed.\nHence we need to interpose a new ViewFileSystemFileStatus that\nworks around.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java',353,358,'org.apache.hadoop.fs.viewfs.ViewFileSystem','readOnlyMountTable(String, String)','NOT_DESIGN'),(11068,'FileStatus#getPath is a fully qualified path relative to the root of\ntarget file system.\nWe need to change it to viewfs URI - relative to root of mount table.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java',348,350,'org.apache.hadoop.fs.viewfs.ViewFileSystem','readOnlyMountTable(String, String)',NULL),(11069,'The implementors of RawLocalFileSystem were trying to be very smart.\nThey implement FileStatus#getOwner lazily -- the object\nreturned is really a RawLocalFileSystem that expect the\nFileStatus#getPath to be unchanged so that it can get owner when needed.\nHence we need to interpose a new ViewFileSystemFileStatus that\nworks around.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java',352,357,'org.apache.hadoop.fs.viewfs.ViewFileSystem','readOnlyMountTable(String, String)',NULL),(11070,'Work in progress: This configuration parameter may be changed/removed in the future','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java',830,830,'org.apache.hadoop.yarn.conf.YarnConfiguration','addDeprecatedKeys()','DESIGN'),(11071,'We\'ll do this inline for the time being - since this is a one time\noperation. At some point, LCE code can be refactored to batch mount\noperations across multiple controllers - cpu, net_cls, blkio etc','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TrafficControlBandwidthHandlerImpl.java',87,89,'org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.resources.TrafficControlBandwidthHandlerImpl','bootstrap(Configuration)',NULL),(11072,'ignore this testcase, Always gets \\\"too many redirect loops\\\" exception\nProbably because of the limitation of MiniYARNCluster.\nVerified the behavior in a single node cluster.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java',278,280,'org.apache.hadoop.yarn.client.TestRMFailover','testRMWebAppRedirect()','DESIGN'),(11073,'Check queue max-capacity limit,\nTODO: Consider reservation on labels','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1388,1389,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)','DESIGN'),(11074,'when reservationsContinueLooking is set, we may need to unreserve\nsome containers to meet this queue, its parents\', or the users\' resource limits.\nTODO, need change here when we want to support continuous reservation\nlooking for labeled partitions.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1564,1567,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11075,'if RPC queue is full, we will ask the RPC client to back off by\nthrowing RetriableException. Whether RPC client will honor\nRetriableException and retry depends on client ipc retry policy.\nFor example, FailoverOnNetworkExceptionRetry handles\nRetriableException.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java',1977,1981,'org.apache.hadoop.ipc.Server','addTerseExceptions(Class<?>...)',NULL),(11076,'move to ARCHIVE','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestMover.java',306,306,'org.apache.hadoop.hdfs.server.mover.TestMover','testTwoReplicaSameStorageTypeShouldNotSelect()',NULL),(11077,'ideally would add some offsets/shifts in here (e.g., via extra header\ndata?), but...significant work to hand-generate each header, and no\nbzip2 spec for reference','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestConcatenatedCompressedInput.java',596,598,'org.apache.hadoop.mapred.TestConcatenatedCompressedInput','doMultipleBzip2BufferSizes(JobConf)',NULL),(11078,'Java has a bug with >2GB request streams.  It won\'t bounds check\nthe reads so the transfer blocks until the server times out','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/ByteRangeInputStream.java',138,139,'org.apache.hadoop.hdfs.web.ByteRangeInputStream','openInputStream()',NULL),(11079,'Java has a bug with >2GB request streams.  It won\'t bounds check\nthe reads so the transfer blocks until the server times out','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/ByteRangeInputStream.java',138,139,'org.apache.hadoop.hdfs.web.ByteRangeInputStream','openInputStream()',NULL),(11080,'TODO: Fix storageID','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/JsonUtilClient.java',223,223,'org.apache.hadoop.hdfs.web.JsonUtilClient','toDatanodeInfo(Map<?, ?>)',NULL),(11081,'TODO: Fix storageID','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/JsonUtilClient.java',224,224,'org.apache.hadoop.hdfs.web.JsonUtilClient','toDatanodeInfo(Map<?, ?>)',NULL),(11082,'If we failed to pass the shared memory segment to the client,\nclose the UNIX domain socket now.  This will trigger the\nDomainSocketWatcher callback, cleaning up the segment.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java',481,483,'org.apache.hadoop.hdfs.server.datanode.DataXceiver','requestShortCircuitShm(String)','DESIGN'),(11083,'The socket is now managed by the DomainSocketWatcher.  However,\nwe failed to pass it to the client.  We call shutdown() on the\nUNIX domain socket now.  This will trigger the DomainSocketWatcher\ncallback.  The callback will close the domain socket.\nWe don\'t want to close the socket here, since that might lead to\nbad behavior inside the poll() call.  See HADOOP-11802 for details.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java',482,487,'org.apache.hadoop.hdfs.server.datanode.DataXceiver','requestShortCircuitShm(String)',NULL),(11084,'TODO: Synchronization','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java',1041,1041,'org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService','getLocalFileContext(Configuration)','NOT_DESIGN'),(11085,'Move mirror to mirror.old','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',245,245,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover()',NULL),(11086,'Move mirror to mirror.old','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',257,257,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover(boolean)',NULL),(11087,'move mirror.writing to mirror','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',251,251,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover()',NULL),(11088,'move mirror.writing to mirror','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',263,263,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover(boolean)',NULL),(11089,'let us do this only once, otherwise\nour count could go out of sync.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataNodeFSDataSetSink.java',50,51,'org.apache.hadoop.hdfs.server.datanode.TestDataNodeFSDataSetSink','putMetrics(MetricsRecord)',NULL),(11090,'fooFile has ONE_SSD policy. So\n(DN0,SSD) and (DN1,DISK) have 2 replicas belong to same block.\n(DN0,DISK) and (DN1,SSD) have 2 replicas belong to same block.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancer.java',1352,1354,'org.apache.hadoop.hdfs.server.balancer.TestBalancer','testTwoReplicaShouldNotInSameDN()',NULL),(11091,'TODO should be conf injected?','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java',72,72,'org.apache.hadoop.hdfs.protocol.HdfsConstants','None',NULL),(11092,'TODO should be conf injected?','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java',40,40,'org.apache.hadoop.hdfs.protocol.HdfsConstants','None',NULL),(11093,'this guesses the remote cluster\'s rpc service port.\nthe current token design assumes it\'s the same as the local cluster\'s\nrpc port unless a config key is set.  there should be a way to automatic\nand correctly determine the value','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/security/token/delegation/DelegationTokenSelector.java',53,56,'org.apache.hadoop.hdfs.security.token.delegation.DelegationTokenSelector','selectToken(URI, Collection<Token<?>>, Configuration)',NULL),(11094,'This helps prevent weird overflow bugs','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/CacheDirectiveInfo.java',147,147,'org.apache.hadoop.hdfs.protocol.CacheDirectiveInfo','build()',NULL),(11095,'None','None','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/CombineFileInputFormat.java',-1,-1,'None','None',NULL),(11096,'one split is on rack1, another split is on rack2 or rack3','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestCombineFileInputFormat.java',1465,1465,'org.apache.hadoop.mapreduce.lib.input.TestCombineFileInputFormat','initMocks()',NULL),(11097,'TODO fail? Already translated several times...','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java',998,998,'org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService','getLocalFileContext(Configuration)','DESIGN'),(11098,'Truncate the potentially corrupt portion.\nIf the source was client and the last node in the pipeline was lost,\nany corrupt data written after the acked length can go unnoticed.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1361,1363,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(11099,'TODO: check writer?\nset writer to the current thread','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1411,1412,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(11100,'Hang too long, just bail out. This is not supposed to happen.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1482,1482,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(11101,'\nREMIND - mjc - eventually we should have a timeout system\nin place to clean up block files left by abandoned clients.\nWe should have some timer in place, so that if a blockfile\nis created but non-valid, and has been idle for >48 hours,\nwe can GC it safely.\n','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',1515,1521,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(11102,'If deletion failed then the directory scanner will cleanup the blocks\neventually.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java',2794,2795,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl','getVolumes()',NULL),(11103,'calculate best guess start time based on lowest event time','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/RollingLevelDBTimelineStore.java',1269,1269,'org.apache.hadoop.yarn.server.timeline.RollingLevelDBTimelineStore','getAndSetStartTime(String, String, Long, List<TimelineEvent>)',NULL),(11104,'TODO: make data retention work with the domain data as well','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/RollingLevelDBTimelineStore.java',1597,1597,'org.apache.hadoop.yarn.server.timeline.RollingLevelDBTimelineStore','put(TimelineDomain)',NULL),(11105,'Even though NN2 considers the blocks over-replicated, it should\npost-pone the block invalidation because the DNs are still \\\"stale\\\".','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDNFencing.java',154,155,'org.apache.hadoop.hdfs.server.namenode.ha.TestDNFencing','testDnFencing()','DESIGN'),(11106,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDNFencing.java',-1,-1,'None','None',NULL),(11107,'TODO: for HDFS-5428, because of rename operations, some\nunder-construction files that are\nin the current fs directory can also be captured in the\nsnapshotUCMap. We should remove them from the snapshotUCMap.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',6422,6425,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11108,'TODO: for HDFS-5428, because of rename operations, some\nunder-construction files that are\nin the current fs directory can also be captured in the\nsnapshotUCMap. We should remove them from the snapshotUCMap.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java',1464,1467,'org.apache.hadoop.hdfs.server.namenode.FSImageFormat','saveFilesUnderConstruction(FSNamesystem, DataOutputStream, Map<Long, INodeFile>)',NULL),(11109,'case 8: truncate to 2 blocks\nthe original 2.5 blocks are in snapshot. the block truncated is not\nin snapshot. diff should be -0.5 block','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestTruncateQuotaUpdate.java',118,120,'org.apache.hadoop.hdfs.server.namenode.TestTruncateQuotaUpdate','testTruncateWithSnapshotAndDivergence()',NULL),(11110,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestTruncateQuotaUpdate.java',-1,-1,'None','None',NULL),(11111,'job has finished\nthis is the only job, so shut down the Appmaster\nnote in a workflow scenario, this may lead to creation of a new\njob (FIXME?)','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java',558,561,'org.apache.hadoop.mapreduce.v2.app.MRAppMaster','serviceInit(Configuration)',NULL),(11112,'job has finished\nthis is the only job, so shut down the Appmaster\nnote in a workflow scenario, this may lead to creation of a new\njob (FIXME?)','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java',570,573,'org.apache.hadoop.mapreduce.v2.app.MRAppMaster','createTaskAttemptFinishingMonitor(EventHandler)',NULL),(11113,'TODO:should have an interface for MRClientService','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java',777,777,'org.apache.hadoop.mapreduce.v2.app.MRAppMaster','serviceInit(Configuration)',NULL),(11114,'TODO:should have an interface for MRClientService','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java',789,789,'org.apache.hadoop.mapreduce.v2.app.MRAppMaster','createTaskAttemptFinishingMonitor(EventHandler)',NULL),(11115,'If no commit is required, task directly goes to success','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',277,277,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','None',NULL),(11116,'If no commit is required, task goes to finishing state\nThis will give a chance for the container to exit by itself','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java',295,296,'org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl','None',NULL),(11117,'Accounting the total memory in usage for all containers','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java',509,509,'org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl','run()',NULL),(11118,'Accounting the total cpu usage for all containers','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java',512,512,'org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl','run()',NULL),(11119,'move to ARCHIVE','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestMover.java',354,354,'org.apache.hadoop.hdfs.server.mover.TestMover','testMoverFailedRetry()',NULL),(11120,'Now move userjar to the front','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainerLaunch.java',466,466,'org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.TestContainerLaunch','getHttpPort()','NOT_DESIGN'),(11121,'YARN-3641: NM\'s services stop get failed shouldn\'t block the\nrelease of NMLevelDBStore.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java',333,334,'org.apache.hadoop.yarn.server.nodemanager.NodeManager','createNodeStatusUpdater(Context, Dispatcher, NodeHealthCheckerService)',NULL),(11122,'TODO: avoid calling getStoragePolicyID','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',498,498,'org.apache.hadoop.hdfs.server.namenode.INodeFile','cleanSubtree(ReclaimContext, int, int)',NULL),(11123,'TODO pass in the storage policy','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',524,524,'org.apache.hadoop.hdfs.server.namenode.INodeFile','destroyAndCollectBlocks(ReclaimContext)',NULL),(11124,'Give DNs time to send in bad reports. In real situations,\ngood reports should follow bad ones, if client committed\nwith those nodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',1294,1296,'org.apache.hadoop.hdfs.DataStreamer','setupPipelineForAppendOrRecovery()','DESIGN'),(11125,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',-1,-1,'None','None',NULL),(11126,'Give DNs time to send in bad reports. In real situations,\ngood reports should follow bad ones, if client committed\nwith those nodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',1392,1394,'org.apache.hadoop.hdfs.DataStreamer','failPacket4Testing()',NULL),(11127,'The block that the client claims is the current last block\ndoesn\'t match up with what we think is the last block. There are\nfour possibilities:\n1) This is the first block allocation of an append() pipeline\nwhich started appending exactly at or exceeding the block boundary.\nIn this case, the client isn\'t passed the previous block,\nso it makes the allocateBlock() call with previous=null.\nWe can distinguish this since the last block of the file\nwill be exactly a full block.\n2) This is a retry from a client that missed the response of a\nprior getAdditionalBlock() call, perhaps because of a network\ntimeout, or because of an HA failover. In that case, we know\nby the fact that the client is re-issuing the RPC that it\nnever began to write to the old block. Hence it is safe to\nto return the existing block.\n3) This is an entirely bogus request/bug -- we should error out\nrather than potentially appending a new block with an empty\none in the middle, etc\n4) This is a retry from a client that timed out while\nthe prior getAdditionalBlock() is still being processed,\ncurrently working on chooseTarget().\nThere are no means to distinguish between the first and\nthe second attempts in Part I, because the first one hasn\'t\nchanged the namesystem state yet.\nWe run this analysis again in Part II where case 4 is impossible.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3256,3280,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()','DESIGN'),(11128,'This is a retry. Just return the last block.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3068,3068,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11129,'check if the feature is enabled','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3096,3096,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11130,'check safe mode','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3110,3110,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11131,'This could be a retry RPC - i.e the client tried to close\nthe file, but missed the RPC response. Thus, it is trying\nagain to close the file. If the file still exists and\nthe client\'s view of the last block matches the actual\nlast block, then we\'ll treat it as a successful close.\nSee HDFS-3031.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3551,3556,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11132,'This could be a retry RPC - i.e the client tried to close\nthe file, but missed the RPC response. Thus, it is trying\nagain to close the file. If the file still exists and\nthe client\'s view of the last block matches the actual\nlast block, then we\'ll treat it as a successful close.\nSee HDFS-3031.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirWriteFileOp.java',465,470,'org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp','unprotectedRemoveBlock(FSDirectory, String, INodesInPath, INodeFile, Block)',NULL),(11133,'The block that the client claims is the current last block\ndoesn\'t match up with what we think is the last block. There are\nfour possibilities:\n1) This is the first block allocation of an append() pipeline\nwhich started appending exactly at or exceeding the block boundary.\nIn this case, the client isn\'t passed the previous block,\nso it makes the allocateBlock() call with previous=null.\nWe can distinguish this since the last block of the file\nwill be exactly a full block.\n2) This is a retry from a client that missed the response of a\nprior getAdditionalBlock() call, perhaps because of a network\ntimeout, or because of an HA failover. In that case, we know\nby the fact that the client is re-issuing the RPC that it\nnever began to write to the old block. Hence it is safe to\nto return the existing block.\n3) This is an entirely bogus request/bug -- we should error out\nrather than potentially appending a new block with an empty\none in the middle, etc\n4) This is a retry from a client that timed out while\nthe prior getAdditionalBlock() is still being processed,\ncurrently working on chooseTarget().\nThere are no means to distinguish between the first and\nthe second attempts in Part I, because the first one hasn\'t\nchanged the namesystem state yet.\nWe run this analysis again in Part II where case 4 is impossible.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirWriteFileOp.java',352,376,'org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp','unprotectedRemoveBlock(FSDirectory, String, INodesInPath, INodeFile, Block)',NULL),(11134,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java',-1,-1,'None','None',NULL),(11135,'\nVerify that block moves to neededReplications\n','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestPendingReplication.java',216,218,'org.apache.hadoop.hdfs.server.blockmanagement.TestPendingReplication','testProcessPendingReplications()',NULL),(11136,'ignore containers we know nothing about - probably from a previous\nattempt','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/ApplicationMaster.java',745,746,'org.apache.hadoop.yarn.applications.distributedshell.ApplicationMaster','main(String[])',NULL),(11137,'TODO: when modification times can be set, directories should be\nemitted to reducers so they might be preserved. Also, mkdirs does','Line','hadoop-tools/hadoop-extras/src/main/java/org/apache/hadoop/tools/DistCpV1.java',504,505,'org.apache.hadoop.tools.DistCpV1','parseLong(String[], int)',NULL),(11138,'rare case where splits are exact, logs.length can be 4','Line','hadoop-tools/hadoop-extras/src/test/java/org/apache/hadoop/tools/TestCopyFiles.java',780,780,'org.apache.hadoop.tools.TestCopyFiles','reset()',NULL),(11139,'TODO: move erasure coding policy to file XAttr (HDFS-7337)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',934,934,'org.apache.hadoop.hdfs.server.namenode.INodeFile','isStriped()',NULL),(11140,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfo.java',322,322,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfo','equals(Object)',NULL),(11141,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/ReplicaUnderConstruction.java',99,99,'org.apache.hadoop.hdfs.server.blockmanagement.ReplicaUnderConstruction','equals(Object)',NULL),(11142,'BlockInfo\nBlockInfoUnderConstruction participates in maps the same way as BlockInfo','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java',360,361,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoContiguousUnderConstruction','hashCode()','NOT_DESIGN'),(11143,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java',-1,-1,'None','None',NULL),(11144,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguous.java',386,386,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoContiguous','equals(Object)',NULL),(11145,'TODO: also persist striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/FSImageFormatPBSnapshot.java',242,242,'org.apache.hadoop.hdfs.server.namenode.snapshot.FSImageFormatPBSnapshot','loadINodeReferenceSection(InputStream)','NOT_DESIGN'),(11146,'TODO: support BlockInfoStripedUC','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',654,654,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11147,'TODO: support BlockInfoStrippedUC','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',682,682,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11148,'TODO','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',3614,3614,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11149,'TODO: fix this logic for block group','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlocksMap.java',126,126,'org.apache.hadoop.hdfs.server.blockmanagement.BlocksMap','removeBlock(Block)','NOT_DESIGN'),(11150,'in file diff there can only be contiguous blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/FSImageFormatPBSnapshot.java',242,242,'org.apache.hadoop.hdfs.server.namenode.snapshot.FSImageFormatPBSnapshot','loadINodeReferenceSection(InputStream)',NULL),(11151,'TODO currently we do not support concatenating EC files','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirConcatOp.java',156,156,'org.apache.hadoop.hdfs.server.namenode.FSDirConcatOp','verifySrcFiles(FSDirectory, String[], INodesInPath, FSPermissionChecker)',NULL),(11152,'TODO print striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',891,891,'org.apache.hadoop.hdfs.server.namenode.INodeFile','dumpTreeRecursively(PrintWriter, StringBuilder, int)',NULL),(11153,'TODO support Striped block\'s recovery','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3563,3563,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11154,'TODO we need to implement different recovery logic here','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStripedUnderConstruction.java',186,186,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoStripedUnderConstruction','initializeBlockRecovery(long)',NULL),(11155,'TODO: support BlockInfoStripedUC for editlog','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',702,702,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11156,'TODO support BlockInfoStripedUC','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',848,848,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11157,'Adjust disk space consumption if required\nTODO: support EC files','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3641,3642,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11158,'TODO whether the file is striped should later be retrieved from iip','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',418,418,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11159,'Update in-memory data structures\nTODO whether the file is striped should later be retrieved from iip','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',497,498,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11160,'add the new block to the INodeFile\nTODO whether the file is striped should later be retrieved from iip','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',514,515,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11161,'ALLOCATE_BLOCK_ID is added for sequential block id, thus if the id\nis negative, it must belong to striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',797,798,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11162,'TODO print striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',904,904,'org.apache.hadoop.hdfs.server.namenode.INodeFile','dumpTreeRecursively(PrintWriter, StringBuilder, int)','NOT_DESIGN'),(11163,'TODO support BlockInfoStripedUC','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',858,858,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11164,'TODO this can be more efficient','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',893,893,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11165,'Orphan block, will be invalidated eventually. Skip.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java',557,557,'org.apache.hadoop.hdfs.server.blockmanagement.DecommissionManager','processBlocksForDecomInternal(DatanodeDescriptor, Iterator<BlockInfoContiguous>, List<BlockInfoContiguous>, boolean)',NULL),(11166,'TODO: move erasure coding policy to file XAttr (HDFS-7337)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',1114,1114,'org.apache.hadoop.hdfs.server.namenode.INodeFile','isStriped()',NULL),(11167,'TODO: move erasure coding policy to file XAttr','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',1116,1116,'org.apache.hadoop.hdfs.server.namenode.INodeFile','isStriped()',NULL),(11168,'TODO: new placement policy for EC considering multiple writers','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',3978,3978,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','chooseTargets(BlockPlacementPolicy, BlockStoragePolicySuite, Set<Node>)',NULL),(11169,'TODO : test should be added to check safeMode with stripedBloks after stripedBlock related functions have been added in class MiniDFSCluster','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java',556,556,'org.apache.hadoop.hdfs.TestSafeMode','testSafeModeWithCorruptSripedBlock()','DESIGN'),(11170,'Orphan block, will be invalidated eventually. Skip.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java',554,554,'org.apache.hadoop.hdfs.server.blockmanagement.DecommissionManager','processBlocksForDecomInternal(DatanodeDescriptor, Iterator<BlockInfo>, List<BlockInfo>, boolean)',NULL),(11171,'TODO: update the enough rack logic for striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',3670,3670,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11172,'INodeFileAttributes\nTODO striped','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',406,407,'org.apache.hadoop.hdfs.server.namenode.INodeFile','getFileReplication()',NULL),(11173,'TODO: move erasure coding policy to file XAttr','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',1117,1117,'org.apache.hadoop.hdfs.server.namenode.INodeFile','isStriped()','DESIGN'),(11174,'TODO we need to implement different recovery logic here','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStripedUnderConstruction.java',192,192,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoStripedUnderConstruction','initializeBlockRecovery(long)','DESIGN'),(11175,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoStripedUnderConstruction.java',-1,-1,'None','None',NULL),(11176,'TODO support Striped block\'s recovery','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3570,3570,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11177,'TODO support truncate of striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3571,3571,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11178,'TODO not considering missing blocks for now, only identify data blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',138,138,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)',NULL),(11179,'TODO: fix the numBytes computation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',153,153,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)','NOT_DESIGN'),(11180,'TODO: verify read results with patterned data from HDFS-8117','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReadStripedFile.java',302,302,'org.apache.hadoop.hdfs.TestReadStripedFile','testPread()',NULL),(11181,'TODO HDFS-8074 and HDFS-7859 : To get from loaded schemas','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',7577,7577,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()','NOT_DESIGN'),(11182,'We don\'t allow symlinks in an EC zone, or pointing to a file/dir in\nan EC. Therefore if a symlink is encountered, the dir shouldn\'t have\nEC\nTODO: properly support symlinks in EC zones','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',62,65,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','getECPolicy(INodesInPath)',NULL),(11183,'TODO update assertion after HDFS-7866','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestECSchemas.java',51,51,'org.apache.hadoop.hdfs.TestECSchemas','testGetECSchemas()','NOT_DESIGN'),(11184,'TODO HDFS-7866 Need to return all schemas maintained by Namenode','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',7597,7597,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11185,'TODO: Use ErasureCoder interface (HDFS-7781)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',68,68,'org.apache.hadoop.hdfs.DFSStripedOutputStream','None',NULL),(11186,'move curIdx to next cell','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',210,210,'org.apache.hadoop.hdfs.DFSStripedOutputStream','writeChunk(byte[], int, int, byte[], int, int)',NULL),(11187,'TODO: Handle slow writers (HDFS-7786)\nCuurently only check if the leading streamer is terminated','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',293,294,'org.apache.hadoop.hdfs.DFSStripedOutputStream','isClosed()',NULL),(11188,'TODO: The following tests will pass after HDFS-8121 fixed\n@Test','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedOutputStream.java',115,116,'org.apache.hadoop.hdfs.TestDFSStripedOutputStream','TestFileMoreThanABlockGroup1()',NULL),(11189,'TODO: Handle InterruptedException (HDFS-7786)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java',106,106,'org.apache.hadoop.hdfs.StripedDataStreamer','endBlock()',NULL),(11190,'TODO: Handle InterruptedException (HDFS-7786)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java',144,144,'org.apache.hadoop.hdfs.StripedDataStreamer','countTailingBlockGroupBytes()','NOT_DESIGN'),(11191,'Get schema set for the zone','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',7576,7576,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11192,'We don\'t allow symlinks in an EC zone, or pointing to a file/dir in\nan EC. Therefore if a symlink is encountered, the dir shouldn\'t have\nEC\nTODO: properly support symlinks in EC zones','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',69,72,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','getECSchema(INodesInPath)',NULL),(11193,'TODO HDFS-7859 Need to persist the schema in xattr in efficient way\nAs of now storing the protobuf format','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',109,110,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','createErasureCodingZone(String, ECSchema)',NULL),(11194,'We don\'t allow symlinks in an EC zone, or pointing to a file/dir in\nan EC. Therefore if a symlink is encountered, the dir shouldn\'t have\nEC\nTODO: properly support symlinks in EC zones','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',75,78,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','getECZoneInfo(INodesInPath)',NULL),(11195,'TODO not considering missing blocks for now, only identify data blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',45,45,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)',NULL),(11196,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',-1,-1,'None','None',NULL),(11197,'TODO: The following tests will pass after HDFS-8121 fixed\n@Test','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedOutputStream.java',116,117,'org.apache.hadoop.hdfs.TestDFSStripedOutputStream','TestFileMoreThanABlockGroup1()','NOT_DESIGN'),(11198,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedOutputStream.java',-1,-1,'None','None',NULL),(11199,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java',-1,-1,'None','None',NULL),(11200,'TODO HDFS-7859 Need to persist the schema in xattr in efficient way\nAs of now storing the protobuf format','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',112,113,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','createErasureCodingZone(String, ECSchema)','NOT_DESIGN'),(11201,'System default schema will be used since no specified.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',110,110,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','createErasureCodingZone(String, ECSchema)',NULL),(11202,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestECSchemas.java',-1,-1,'None','None',NULL),(11203,'TODO HDFS-7866 Need to return all schemas maintained by Namenode','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',7629,7629,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()','NOT_DESIGN'),(11204,'Connect to best DataNode for desired Block, with potential offset','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',174,174,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)',NULL),(11205,'If current block group is corrupt, it\'s meaningless to retry.\nTODO: this should trigger decoding logic (HDFS-7678)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',393,394,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)',NULL),(11206,'Connect to best DataNode for desired Block, with potential offset','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',175,175,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)','NOT_DESIGN'),(11207,'If current block group is corrupt, it\'s meaningless to retry.\nTODO: this should trigger decoding logic (HDFS-7678)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',394,395,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)','DESIGN'),(11208,'we want to remember which block replicas we have tried','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',360,360,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)',NULL),(11209,'TODO: this should trigger decoding logic (HDFS-7678)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',368,368,'org.apache.hadoop.hdfs.DFSStripedInputStream','planReadPortions(int, int, long, int, int)',NULL),(11210,'TODO: this should trigger decoding logic (HDFS-7678)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',315,315,'org.apache.hadoop.hdfs.DFSStripedInputStream','readBuffer(BlockReader, DatanodeInfo, ReaderStrategy, int, int, Map<ExtendedBlock, Set<DatanodeInfo>>)','DESIGN'),(11211,'These values correspond to the values used by the system default erasure\ncoding schema.\nTODO: to be removed once all places use schema.','Block','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java',78,82,'org.apache.hadoop.hdfs.protocol.HdfsConstants','None',NULL),(11212,'TODO: decode and record bad reader if necessary','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',304,304,'org.apache.hadoop.hdfs.DFSStripedInputStream','readOneStripe(Map<ExtendedBlock, Set<DatanodeInfo>>)',NULL),(11213,'TODO: we may have to revisit later for what we can do better to\nhandle this case.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',1571,1572,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11214,'TODO: Use ErasureCoder interface (HDFS-7781)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',76,76,'org.apache.hadoop.hdfs.DFSStripedOutputStream','None','NOT_DESIGN'),(11215,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',-1,-1,'None','None',NULL),(11216,'move curIdx to next cell','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',238,238,'org.apache.hadoop.hdfs.DFSStripedOutputStream','writeChunk(byte[], int, int, byte[], int, int)','NOT_DESIGN'),(11217,'Two extra steps are needed when a striping cell is full:\n1. Forward the current index pointer\n2. Generate parity packets if a full stripe of data cells are present','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',369,371,'org.apache.hadoop.hdfs.DFSStripedOutputStream','writeChunk(byte[], int, int, byte[], int, int)',NULL),(11218,'TODO: Handle InterruptedException (HDFS-7786)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java',108,108,'org.apache.hadoop.hdfs.StripedDataStreamer','endBlock()','NOT_DESIGN'),(11219,'ECInfo is restored from NN just before writing striped files.\nTODO reduce an rpc call HDFS-8289','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',222,223,'org.apache.hadoop.hdfs.DFSStripedOutputStream','getStripedDataStreamer(int)','NOT_DESIGN'),(11220,'//TODO: TODO: wait for HADOOP-11847','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRecoverStripedFile.java',115,115,'org.apache.hadoop.hdfs.TestRecoverStripedFile','testRecoverOneDataBlock()',NULL),(11221,'//TODO: TODO: wait for HADOOP-11847','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRecoverStripedFile.java',122,122,'org.apache.hadoop.hdfs.TestRecoverStripedFile','testRecoverAnyBlocks()',NULL),(11222,'///////// TODO: wait for HADOOP-11847 /////////////\n//////// The current decode method always try to decode parityBlkNum number of data blocks. ////////////','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java',559,560,'org.apache.hadoop.hdfs.server.datanode.erasurecode.ErasureCodingWorker','newEncoder()','DESIGN'),(11223,'TODO: verify read results with patterned data from HDFS-8117','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestReadStripedFile.java',138,138,'org.apache.hadoop.hdfs.TestReadStripedFile','testPread()',NULL),(11224,'TODO: verify read results with patterned data from HDFS-8117','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',138,138,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPread()',NULL),(11225,'TODO: verify read results with patterned data from HDFS-8117','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',137,137,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPread()','NOT_DESIGN'),(11226,'Update the expected content for decoded data','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',192,192,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPreadWithDNFailure()',NULL),(11227,'TODO: workaround (filling fixed bytes), to remove after HADOOP-11938','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',213,213,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPreadWithDNFailure()',NULL),(11228,'read a small delta, shouldn\'t trigger decode\n|cell_0 |\n|10     |','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',218,220,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPreadWithDNFailure()',NULL),(11229,'both head and trail cells are partial\n|c_0      |c_1    |c_2 |c_3 |c_4      |c_5         |\n|256K - 10|missing|256K|256K|256K - 10|not in range|','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',223,225,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPreadWithDNFailure()',NULL),(11230,'read the rest','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',229,229,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPreadWithDNFailure()',NULL),(11231,'TODO: workaround (filling fixed bytes), to remove after HADOOP-11938\nSystem.arraycopy(outputs[i], srcPos, buf, chunk.offsetsInBuf.get(j),','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',351,352,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)',NULL),(11232,'TODO: change ECSchema naming to use cell size instead of chunk size','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',373,373,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)',NULL),(11233,'Step 1: get the unmerged ranges on each internal block\nTODO: StripingCell should carry info on size and start offset (HDFS-8320)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',386,387,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)',NULL),(11234,'TODO: workaround (filling fixed bytes), to remove after HADOOP-11938','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestWriteReadStripedFile.java',360,360,'org.apache.hadoop.hdfs.TestWriteReadStripedFile','testWritePreadWithDNFailure()',NULL),(11235,'TODO: support EC with heterogeneous storage','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',843,843,'org.apache.hadoop.hdfs.server.namenode.INodeFile','storagespaceConsumedWithStriped()',NULL),(11236,'Adjust disk space consumption if required\nTODO: support EC files','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3658,3659,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()','NOT_DESIGN'),(11237,'Adjust disk space consumption if required','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3658,3658,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11238,'TODO whether the file is striped should later be retrieved from iip','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',419,419,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)','NOT_DESIGN'),(11239,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',-1,-1,'None','None',NULL),(11240,'Update in-memory data structures\nTODO whether the file is striped should later be retrieved from iip','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',498,499,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)','DESIGN'),(11241,'Update in-memory data structures','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',499,499,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11242,'add the new block to the INodeFile\nTODO whether the file is striped should later be retrieved from iip','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',516,517,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)','DESIGN'),(11243,'add the new block to the INodeFile','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',517,517,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11244,'TODO: ECSchema can be restored from persisted file (HDFS-7859).','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageSerialization.java',135,135,'org.apache.hadoop.hdfs.server.namenode.FSImageSerialization','readINodeUnderConstruction(DataInput, FSNamesystem, int)','DESIGN'),(11245,'TODO: HDFS-7859','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatPBINode.java',358,358,'org.apache.hadoop.hdfs.server.namenode.FSImageFormatPBINode','loadPermission(long, String[])',NULL),(11246,'OP_CLOSE should add finalized blocks. This code path\nis only executed when loading edits written by prior\nversions of Hadoop. Current versions always log\nOP_ADD operations as each block is allocated.\nTODO: ECSchema can be restored from persisted file (HDFS-7859).','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',1080,1084,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11247,'TODO: ECSchema can be restored from persisted file (HDFS-7859).','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormat.java',766,766,'org.apache.hadoop.hdfs.server.namenode.FSImageFormat','getLoadedImageMd5()','DESIGN'),(11248,'Step 1: get the unmerged ranges on each internal block\nTODO: StripingCell should carry info on size and start offset (HDFS-8320)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',387,388,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)','NOT_DESIGN'),(11249,'Step 2: get the unmerged ranges on each internal block','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',332,332,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)',NULL),(11250,'TODO allow write to continue if blocks.length >= NUM_DATA_BLOCKS','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java',124,124,'org.apache.hadoop.hdfs.StripedDataStreamer','putLoactedBlocks(LocatedBlock)','NOT_DESIGN'),(11251,'We don\'t allow symlinks in an EC zone, or pointing to a file/dir in\nan EC. Therefore if a symlink is encountered, the dir shouldn\'t have\nEC\nTODO: properly support symlinks in EC zones','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',77,80,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','getECZoneInfo(INodesInPath)',NULL),(11252,'///////// TODO: wait for HADOOP-11847 /////////////\n//////// The current decode method always try to decode parityBlkNum number of data blocks. ////////////','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java',561,562,'org.apache.hadoop.hdfs.server.datanode.erasurecode.ErasureCodingWorker','newEncoder()',NULL),(11253,'Then, with user classpath first','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainerLaunch.java',466,466,'org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.TestContainerLaunch','getHttpPort()',NULL),(11254,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfo.java',386,386,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfo','equals(Object)',NULL),(11255,'Because WebAppUtils#getResolvedAddress tries to resolve the hostname, we add a static mapping for dummy hostnames\nto make this test run anywhere without having to give some resolvable hostnames','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/webapp/util/TestWebAppUtils.java',47,48,'org.apache.hadoop.yarn.webapp.util.TestWebAppUtils','None',NULL),(11256,'TODO: Remove at the time when we move to Azure Java SDK 1.2+.\nThis is the workaround provided by Azure Java SDK team to\nmitigate the issue with un-encoded x-ms-copy-source HTTP\nrequest header. Azure sdk version before 1.2+ does not encode this\nheader what causes all URIs that have special (category \\\"other\\\")\ncharacters in the URI not to work with startCopyFromBlob when\nspecified as source (requests fail with HTTP 403).','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2437,2443,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','rename(String, String, boolean, SelfRenewingLease)','DESIGN'),(11257,'Get the destination blob. The destination key always needs to be\nnormalized.\n','Line','hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java',2432,2434,'org.apache.hadoop.fs.azure.AzureNativeFileSystemStore','rename(String, String, boolean, SelfRenewingLease)',NULL),(11258,'On Windows, the JDK does not support the POSIX file permission APIs.\nInstead, we can do a winutils call and translate.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/alias/LocalJavaKeyStoreProvider.java',103,104,'org.apache.hadoop.security.alias.LocalJavaKeyStoreProvider','stashOriginalFilePermissions()',NULL),(11259,'Release write lock here for better performance and avoiding deadlocks.\nrunnableApps can be in unsorted state because of this section,\nbut we can accept it in practice since the probability is low.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java',324,326,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSLeafQueue','assignContainer(FSSchedulerNode)','DESIGN'),(11260,'Apps that have resource demands.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSLeafQueue.java',318,318,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSLeafQueue','assignContainer(FSSchedulerNode)',NULL),(11261,'TODO: workaround (filling fixed bytes), to remove after HADOOP-11938\nSystem.arraycopy(outputs[i], srcPos, buf, chunk.offsetsInBuf.get(j),','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',298,299,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)','DESIGN'),(11262,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',-1,-1,'None','None',NULL),(11263,'TODO: workaround (filling fixed bytes), to remove after HADOOP-11938','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestWriteReadStripedFile.java',388,388,'org.apache.hadoop.hdfs.TestWriteReadStripedFile','testWritePreadWithDNFailure()','NOT_DESIGN'),(11264,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestWriteReadStripedFile.java',-1,-1,'None','None',NULL),(11265,'TODO: workaround (filling fixed bytes), to remove after HADOOP-11938','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',229,229,'org.apache.hadoop.hdfs.TestDFSStripedInputStream','testPreadWithDNFailure()','NOT_DESIGN'),(11266,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedInputStream.java',-1,-1,'None','None',NULL),(11267,'Test move dir\nMove EC dir under non-EC dir','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingZones.java',122,123,'org.apache.hadoop.hdfs.TestErasureCodingZones','testMoveValidity()',NULL),(11268,'move back','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingZones.java',126,126,'org.apache.hadoop.hdfs.TestErasureCodingZones','testMoveValidity()',NULL),(11269,'Move EC dir under another EC dir','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingZones.java',128,128,'org.apache.hadoop.hdfs.TestErasureCodingZones','testMoveValidity()',NULL),(11270,'TODO: change ECSchema naming to use cell size instead of chunk size','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',348,348,'org.apache.hadoop.hdfs.util.StripedBlockUtil','parseStripedBlockGroup(LocatedStripedBlock, int, int, int)','DESIGN'),(11271,'Proxy or target may have some issues, delay before using these nodes\nfurther in order to avoid a potential storm of \\\"threads quota\nexceeded\\\" warnings when the dispatcher gets out of sync with work\ngoing on in datanodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',324,327,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','get(Block)',NULL),(11272,'Proxy or target may have some issues, delay before using these nodes\nfurther in order to avoid a potential storm of \\\"threads quota\nexceeded\\\" warnings when the dispatcher gets out of sync with work\ngoing on in datanodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',331,334,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','putIfAbsent(Block, DBlock)',NULL),(11273,'cancel the tentative move','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',683,683,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','get(Block)',NULL),(11274,'cancel the tentative move','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',745,745,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','putIfAbsent(Block, DBlock)',NULL),(11275,'Reset no pending move counter','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',731,731,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','get(Block)',NULL),(11276,'Reset no pending move counter','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',793,793,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','putIfAbsent(Block, DBlock)',NULL),(11277,'move the block','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',886,886,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','get(Block)',NULL),(11278,'move the reportedBlock','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',948,948,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','putIfAbsent(Block, DBlock)',NULL),(11279,'We are releasing the lock between the sort and iteration of the\n\\\"sorted\\\" list. There could be changes to the list here:\n1. Add a child queue to the end of the list, this doesn\'t affect\ncontainer assignment.\n2. Remove a child queue, this is probably good to take care of so we\ndon\'t assign to a queue that is going to be removed shortly.','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSParentQueue.java',229,236,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSParentQueue','assignContainer(FSSchedulerNode)',NULL),(11280,'//TODO: TODO: wait for HADOOP-11847','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRecoverStripedFile.java',116,116,'org.apache.hadoop.hdfs.TestRecoverStripedFile','testRecoverOneDataBlock()','NOT_DESIGN'),(11281,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRecoverStripedFile.java',-1,-1,'None','None',NULL),(11282,'//TODO: TODO: wait for HADOOP-11847','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRecoverStripedFile.java',123,123,'org.apache.hadoop.hdfs.TestRecoverStripedFile','testRecoverAnyBlocks()','NOT_DESIGN'),(11283,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java',-1,-1,'None','None',NULL),(11284,'Read from minimum source DNs required, the success list contains\nsource DNs which we think best.','Block','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/ErasureCodingWorker.java',515,518,'org.apache.hadoop.hdfs.server.datanode.erasurecode.ErasureCodingWorker','newDecoder(int, int)',NULL),(11285,'HADOOP-11924: This is a workaround to avoid failure of class init\nby JDK issue on TR locale(JDK-8047340).','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java',399,400,'org.apache.hadoop.util.Shell','isJava7OrAbove()',NULL),(11286,'TODO not considering missing blocks for now, only identify data blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/StripedBlockUtil.java',82,82,'org.apache.hadoop.hdfs.util.StripedBlockUtil','None','NOT_DESIGN'),(11287,'TODO: decode and record bad reader if necessary','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',323,323,'org.apache.hadoop.hdfs.DFSStripedInputStream','readOneStripe(Map<ExtendedBlock, Set<DatanodeInfo>>)','NOT_DESIGN'),(11288,'TODO handle null elements in blks (e.g., NN does not know locations for\nall the internal blocks)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',323,324,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11289,'read the whole stripe','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',327,327,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11290,'Parse group to get chosen DN location','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',329,329,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11291,'TODO handle null elements in blks (e.g., NN does not know locations for\nall the internal blocks)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',547,548,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11292,'TODO no copy for data chunks. this depends on HADOOP-12047 for some\ndecoders to work','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',838,839,'org.apache.hadoop.hdfs.DFSStripedInputStream','decode()',NULL),(11293,'TODO no need to link this back to storage anymore!\nSee HDFS-2174.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java',1261,1262,'org.apache.hadoop.hdfs.server.namenode.FSEditLog','startLogSegment(long)',NULL),(11294,'TODO no need to link this back to storage anymore!\nSee HDFS-2174.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java',1262,1263,'org.apache.hadoop.hdfs.server.namenode.FSEditLog','startLogSegment(long, int)',NULL),(11295,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStoreZKClientConnections.java',-1,-1,'None','None',NULL),(11296,'a hack to trigger expired event','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStoreZKClientConnections.java',223,223,'org.apache.hadoop.yarn.server.resourcemanager.recovery.TestZKRMStateStoreZKClientConnections','testZKSessionTimeout()','DESIGN'),(11297,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',160,161,'org.apache.hadoop.tracing.TestTracing','testTracing()',NULL),(11298,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',150,151,'org.apache.hadoop.tracing.TestTracing','readWithTracing()',NULL),(11299,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoUnderConstruction.java',138,138,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoUnderConstruction','equals(Object)',NULL),(11300,'BlockInfo\nBlockInfoUnderConstruction participates in maps the same way as BlockInfo','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoContiguousUnderConstruction.java',361,362,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoContiguousUnderConstruction','hashCode()','NOT_DESIGN'),(11301,'BlockInfo\nBlockInfoUnderConstruction participates in maps the same way as BlockInfo','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoUnderConstruction.java',363,364,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoUnderConstruction','hashCode()',NULL),(11302,'TODO for striped blocks, we currently save and load them as contiguous\nblocks to/from legacy fsimage','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java',206,207,'org.apache.hadoop.hdfs.server.namenode.TestFSImage','testSaveAndLoadStripedINodeFile(FSNamesystem, Configuration, boolean)',NULL),(11303,'move to ARCHIVE','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/mover/TestMover.java',349,349,'org.apache.hadoop.hdfs.server.mover.TestMover','testMoveWhenStoragePolicyNotSatisfying()',NULL),(11304,'TODO: Handle slow writers (HDFS-7786)\nCuurently only check if the leading streamer is terminated','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',446,447,'org.apache.hadoop.hdfs.DFSStripedOutputStream','isClosed()','NOT_DESIGN'),(11305,'If the split ended in the middle of a record delimiter then we need\nto read one additional record, as the consumer of the next split will\nnot recognize the partial delimiter as a record.\nHowever if using the default delimiter and the next character is a\nlinefeed then next split will treat it as a delimiter all by itself\nand the additional record read should not be performed.','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input/UncompressedSplitLineReader.java',64,69,'org.apache.hadoop.mapreduce.lib.input.UncompressedSplitLineReader','fillBuffer(InputStream, byte[], boolean)',NULL),(11306,'write all params for image upload request as query itself.\nRequest body contains the image to be uploaded.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java',259,260,'org.apache.hadoop.hdfs.server.namenode.TransferFsImage','downloadMostRecentImageToDirectory(URL, File)',NULL),(11307,'write all params for image upload request as query itself.\nRequest body contains the image to be uploaded.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/TransferFsImage.java',282,283,'org.apache.hadoop.hdfs.server.namenode.TransferFsImage','getResultForCode(int)',NULL),(11308,'TODO should there be some smarts here about retries nodes that are not the active NN?','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/StandbyCheckpointer.java',239,239,'org.apache.hadoop.hdfs.server.namenode.ha.StandbyCheckpointer','setNameNodeAddresses(Configuration)',NULL),(11309,'cleaner than copying code for multiple catch statements and better than catching all\nexceptions, so we just handle the ones we expect.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ha/StandbyCheckpointer.java',259,260,'org.apache.hadoop.hdfs.server.namenode.ha.StandbyCheckpointer','setNameNodeAddresses(Configuration)',NULL),(11310,'duplicate code with MiniQJMHACluster#createDefaultTopology, but don\'t want to cross\ndependencies or munge too much code to support it all correctly','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestBootstrapStandby.java',60,61,'org.apache.hadoop.hdfs.server.namenode.ha.TestBootstrapStandby','setupCluster()',NULL),(11311,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java',-1,-1,'None','None',NULL),(11312,'compute the ideal distribution of resources among queues\nupdates cloned queues state accordingly','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',226,227,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11313,'compute the ideal distribution of resources among queues\nupdates cloned queues state accordingly','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',223,224,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, RMContext, PreemptableResourceScheduler)',NULL),(11314,'compute ideal distribution at this level','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',299,299,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11315,'unassigned tracks how much resources are still to assign, initialized\nwith the total capacity for this set of queues','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',334,335,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11316,'based on ideal assignment computed above and current assignment we derive\nhow much preemption is required overall','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',363,364,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11317,'if we need to preempt more than is allowed, compute a factor (0<f<1)\nthat is used to scale down how much we ask back from each queue','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',373,374,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11318,'assign to each queue the amount of actual preemption based on local\ninformation of ideal preemption and scaling factor','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',382,383,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11319,'Prior to assigning the unused resources, process each queue as follows:\nIf current > guaranteed, idealAssigned = guaranteed + untouchable extra','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/ProportionalCapacityPreemptionPolicy.java',407,408,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy','init(Configuration, EventHandler<ContainerPreemptEvent>, PreemptableResourceScheduler)',NULL),(11320,'The block that the client claims is the current last block\ndoesn\'t match up with what we think is the last block. There are\nfour possibilities:\n1) This is the first block allocation of an append() pipeline\nwhich started appending exactly at or exceeding the block boundary.\nIn this case, the client isn\'t passed the previous block,\nso it makes the allocateBlock() call with previous=null.\nWe can distinguish this since the last block of the file\nwill be exactly a full block.\n2) This is a retry from a client that missed the response of a\nprior getAdditionalBlock() call, perhaps because of a network\ntimeout, or because of an HA failover. In that case, we know\nby the fact that the client is re-issuing the RPC that it\nnever began to write to the old block. Hence it is safe to\nto return the existing block.\n3) This is an entirely bogus request/bug -- we should error out\nrather than potentially appending a new block with an empty\none in the middle, etc\n4) This is a retry from a client that timed out while\nthe prior getAdditionalBlock() is still being processed,\ncurrently working on chooseTarget().\nThere are no means to distinguish between the first and\nthe second attempts in Part I, because the first one hasn\'t\nchanged the namesystem state yet.\nWe run this analysis again in Part II where case 4 is impossible.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirWriteFileOp.java',614,638,'org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp','unprotectedRemoveBlock(FSDirectory, String, INodesInPath, INodeFile, Block)',NULL),(11321,'The block that the client claims is the current last block\ndoesn\'t match up with what we think is the last block. There are\nfour possibilities:\n1) This is the first block allocation of an append() pipeline\nwhich started appending exactly at or exceeding the block boundary.\nIn this case, the client isn\'t passed the previous block,\nso it makes the allocateBlock() call with previous=null.\nWe can distinguish this since the last block of the file\nwill be exactly a full block.\n2) This is a retry from a client that missed the response of a\nprior getAdditionalBlock() call, perhaps because of a network\ntimeout, or because of an HA failover. In that case, we know\nby the fact that the client is re-issuing the RPC that it\nnever began to write to the old block. Hence it is safe to\nto return the existing block.\n3) This is an entirely bogus request/bug -- we should error out\nrather than potentially appending a new block with an empty\none in the middle, etc\n4) This is a retry from a client that timed out while\nthe prior getAdditionalBlock() is still being processed,\ncurrently working on chooseTarget().\nThere are no means to distinguish between the first and\nthe second attempts in Part I, because the first one hasn\'t\nchanged the namesystem state yet.\nWe run this analysis again in Part II where case 4 is impossible.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirWriteFileOp.java',616,640,'org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp','unprotectedRemoveBlock(FSDirectory, String, INodesInPath, INodeFile, BlockInfo)',NULL),(11322,'This could be a retry RPC - i.e the client tried to close\nthe file, but missed the RPC response. Thus, it is trying\nagain to close the file. If the file still exists and\nthe client\'s view of the last block matches the actual\nlast block, then we\'ll treat it as a successful close.\nSee HDFS-3031.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirWriteFileOp.java',727,732,'org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp','unprotectedRemoveBlock(FSDirectory, String, INodesInPath, INodeFile, Block)',NULL),(11323,'This could be a retry RPC - i.e the client tried to close\nthe file, but missed the RPC response. Thus, it is trying\nagain to close the file. If the file still exists and\nthe client\'s view of the last block matches the actual\nlast block, then we\'ll treat it as a successful close.\nSee HDFS-3031.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirWriteFileOp.java',729,734,'org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp','unprotectedRemoveBlock(FSDirectory, String, INodesInPath, INodeFile, BlockInfo)',NULL),(11324,'Using default block size since there is no way in SFTP channel to know of\nblock sizes on server. The assumption could be less than ideal.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/sftp/SFTPFileSystem.java',278,279,'org.apache.hadoop.fs.sftp.SFTPFileSystem','getFileStatus(ChannelSftp, LsEntry, Path)',NULL),(11325,'TODO: handle this','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Touchz.java',63,63,'org.apache.hadoop.fs.shell.Touch','processPath(PathData)',NULL),(11326,'TODO: handle this','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Touch.java',63,63,'org.apache.hadoop.fs.shell.Touch','processPath(PathData)',NULL),(11327,'Now we break the flattened, absolute pattern into path components.\nFor example, /a/*/c would be broken into the list [a, *, c]','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Globber.java',161,162,'org.apache.hadoop.fs.Globber','glob()',NULL),(11328,'Now we break the flattened, absolute pattern into path components.\nFor example, /a/*/c would be broken into the list [a, *, c]','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Globber.java',178,179,'org.apache.hadoop.fs.Globber','doGlob()',NULL),(11329,'HADOOP-3497 semantics: the user-defined filter is applied at the\nend, once the full path is built up.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Globber.java',269,270,'org.apache.hadoop.fs.Globber','glob()',NULL),(11330,'HADOOP-3497 semantics: the user-defined filter is applied at the\nend, once the full path is built up.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Globber.java',286,287,'org.apache.hadoop.fs.Globber','doGlob()',NULL),(11331,'TODO unimplemented','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/SysInfoWindows.java',185,185,'org.apache.hadoop.util.SysInfoWindows','getNetworkBytesRead()',NULL),(11332,'TODO unimplemented','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/SysInfoWindows.java',192,192,'org.apache.hadoop.util.SysInfoWindows','getNetworkBytesWritten()',NULL),(11333,'consider moving where CapacityScheduler::comparator accessible','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/TestProportionalCapacityPreemptionPolicy.java',1018,1018,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.TestProportionalCapacityPreemptionPolicy','mockLeafQueue(ParentQueue, float, int, int[], int[], int[], int[], int[], int[])',NULL),(11334,'consider moving where CapacityScheduler::comparator accessible','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/capacity/TestProportionalCapacityPreemptionPolicy.java',1127,1127,'org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.TestProportionalCapacityPreemptionPolicy','mockLeafQueue(ParentQueue, Resource, int, Resource[], Resource[], Resource[], Resource[], int[], Resource[])',NULL),(11335,'TODO handle null elements in blks (e.g., NN does not know locations for\nall the internal blocks)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',326,327,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()','NOT_DESIGN'),(11336,'TODO no copy for data chunks. this depends on HADOOP-12047 for some\ndecoders to work','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',846,847,'org.apache.hadoop.hdfs.DFSStripedInputStream','decode()',NULL),(11337,'TODO no copy for data chunks. this depends on HADOOP-12047','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',922,922,'org.apache.hadoop.hdfs.DFSStripedInputStream','decode()',NULL),(11338,'There are missing block locations at this stage. Thus we need to read\nthe full stripe and one more parity block.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',689,690,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11339,'TODO: for a full stripe we can start reading (dataBlkNum + 1) chunks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',697,697,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11340,'TODO unimplemented','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/SysInfoWindows.java',198,198,'org.apache.hadoop.util.SysInfoWindows','getStorageBytesRead()',NULL),(11341,'TODO unimplemented','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/SysInfoWindows.java',204,204,'org.apache.hadoop.util.SysInfoWindows','getStorageBytesWritten()',NULL),(11342,'TODO: update the enough rack logic for striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',3822,3822,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','DESIGN'),(11343,'INodeFileAttributes\nTODO striped','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',403,404,'org.apache.hadoop.hdfs.server.namenode.INodeFile','getFileReplication()',NULL),(11344,'INodeFileAttributes\nTODO properly handle striped files','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',382,383,'org.apache.hadoop.hdfs.server.namenode.INodeFile','getFileReplication()',NULL),(11345,'TODO: support EC with heterogeneous storage','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',837,837,'org.apache.hadoop.hdfs.server.namenode.INodeFile','storagespaceConsumedWithStriped()',NULL),(11346,'TODO: support EC with heterogeneous storage','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',791,791,'org.apache.hadoop.hdfs.server.namenode.INodeFile','storagespaceConsumedStriped()',NULL),(11347,'TODO: HDFS-7859','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatPBINode.java',360,360,'org.apache.hadoop.hdfs.server.namenode.FSImageFormatPBINode','loadPermission(long, String[])','NOT_DESIGN'),(11348,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatPBINode.java',-1,-1,'None','None',NULL),(11349,'TODO: DFSStripedInputStream handles token expiration','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockTokenWithDFSStriped.java',74,74,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFSStriped','testRead()','NOT_DESIGN'),(11350,'TODO: DFSStripedOutputStream handles token expiration','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockTokenWithDFSStriped.java',81,81,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFSStriped','testWrite()','NOT_DESIGN'),(11351,'TODO: support Append for striped file','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockTokenWithDFSStriped.java',87,87,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFSStriped','testAppend()',NULL),(11352,'TODO: DFSStripedOutputStream handles token expiration','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockTokenWithDFSStriped.java',93,93,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockTokenWithDFSStriped','testEnd2End()','NOT_DESIGN'),(11353,'TODO add implementation for FSParentQueue','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSQueue.java',336,336,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSQueue','getDefaultApplicationPriority()',NULL),(11354,'ToDo: Verify against priority ACLs','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java',1852,1852,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler','checkAndGetApplicationPriority(Priority, String, String, ApplicationId)',NULL),(11355,'TODO add implementation for FIFO scheduler','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/FifoScheduler.java',216,216,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler','getQueueName()',NULL),(11356,'TODO add dummy implementation','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',581,581,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','getDefaultApplicationPriority()',NULL),(11357,'TODO Dummy implementation.','Line','hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java',958,958,'org.apache.hadoop.yarn.sls.scheduler.ResourceSchedulerWrapper','checkAndGetApplicationPriority(Priority, String, String, ApplicationId)',NULL),(11358,'TODO: HDFS-8797','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestWriteReadStripedFile.java',243,243,'org.apache.hadoop.hdfs.TestWriteReadStripedFile','testWriteReadUsingWebHdfs()',NULL),(11359,'Java has a bug with >2GB request streams.  It won\'t bounds check\nthe reads so the transfer blocks until the server times out','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/ByteRangeInputStream.java',153,154,'org.apache.hadoop.hdfs.web.ByteRangeInputStream','openInputStream(long)',NULL),(11360,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockTokenWithDFSStriped.java',-1,-1,'None','None',NULL),(11361,'TODO: handles connection issues','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',618,618,'org.apache.hadoop.hdfs.DFSStripedInputStream','refetchEncryptionKey()',NULL),(11362,'when reservationsContinueLooking is set, we may need to unreserve\nsome containers to meet this queue, its parents\', or the users\' resource limits.\nTODO, need change here when we want to support continuous reservation\nlooking for labeled partitions.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1585,1588,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11363,'when reservationsContinueLooking is set, we may need to unreserve\nsome containers to meet this queue, its parents\', or the users\' resource limits.\nTODO, need change here when we want to support continuous reservation\nlooking for labeled partitions.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java',757,760,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp','assignContainer(Resource, FiCaSchedulerNode, Priority, ResourceRequest, NodeType, RMContainer, MutableObject, SchedulingMode, ResourceLimits)','DESIGN'),(11364,'Get current limited resource:\n- When doing RESPECT_PARTITION_EXCLUSIVITY allocation, we will respect\nqueues\' max capacity.\n- When doing IGNORE_PARTITION_EXCLUSIVITY allocation, we will not respect\nqueue\'s max capacity, queue\'s max capacity on the partition will be\nconsidered to be 100%. Which is a queue can use all resource in the\npartition.\nDoing this because: for non-exclusive allocation, we make sure there\'s\nidle resource on the partition, to avoid wastage, such resource will be\nleveraged as much as we can, and preemption policy will reclaim it back\nwhen partitoned-resource-request comes back.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',458,468,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, Resource, SchedulingMode)',NULL),(11365,'Get current limited resource:\n- When doing RESPECT_PARTITION_EXCLUSIVITY allocation, we will respect\nqueues\' max capacity.\n- When doing IGNORE_PARTITION_EXCLUSIVITY allocation, we will not respect\nqueue\'s max capacity, queue\'s max capacity on the partition will be\nconsidered to be 100%. Which is a queue can use all resource in the\npartition.\nDoing this because: for non-exclusive allocation, we make sure there\'s\nidle resource on the partition, to avoid wastage, such resource will be\nleveraged as much as we can, and preemption policy will reclaim it back\nwhen partitoned-resource-request comes back.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',453,463,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, SchedulingMode)',NULL),(11366,'if reservation continous looking enabled, check to see if could we\npotentially use this node instead of a reserved node if the application\nhas reserved containers.\nTODO, now only consider reservation cases when the node has no label','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/AbstractCSQueue.java',476,479,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AbstractCSQueue','canAssignToThisQueue(Resource, String, ResourceLimits, Resource, Resource, SchedulingMode)',NULL),(11367,'TODO, fix headroom in the future patch','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java',1008,1008,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestLeafQueue','testHeadroomWithMaxCap()',NULL),(11368,'How much need to unreserve equals to:\nmax(required - headroom, amountNeedUnreserve)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java',735,736,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp','assignContainer(Resource, FiCaSchedulerNode, Priority, ResourceRequest, NodeType, RMContainer, MutableObject, SchedulingMode, ResourceLimits)','DESIGN'),(11369,'If we skipped sort queue this time, we need to resort queues to make\nsure we allocate from least usage (or order defined by queue policy)\nqueues.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',657,659,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue','completedContainer(Resource, FiCaSchedulerApp, FiCaSchedulerNode, RMContainer, ContainerStatus, RMContainerEventType, CSQueue, boolean)',NULL),(11370,'TODO, need fix headroom in future patch','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimits.java',649,649,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestApplicationLimits','testHeadroom()',NULL),(11371,'Should probably be moved from yarn-default.xml to mapred-default.xml','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java',119,119,'org.apache.hadoop.yarn.conf.TestYarnConfigurationFields','initializeMemberVariables()',NULL),(11372,'Should probably be moved from yarn-default.xml to mapred-default.xml','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/test/java/org/apache/hadoop/yarn/conf/TestYarnConfigurationFields.java',119,119,'org.apache.hadoop.yarn.conf.TestYarnConfigurationFields','initializeMemberVariables()',NULL),(11373,'List<String> -> stored as List -> fetched/converted to List<String>\nwe can\'t do better here thanks to type-erasure','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DefaultLinuxContainerRuntime.java',96,97,'org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DefaultLinuxContainerRuntime','launchContainer(ContainerRuntimeContext)',NULL),(11374,'List<String> -> stored as List -> fetched/converted to List<String>\nwe can\'t do better here thanks to type-erasure','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java',151,152,'org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime','launchContainer(ContainerRuntimeContext)',NULL),(11375,'Move datanode1 to Decommissioned state','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDecommission.java',1184,1184,'org.apache.hadoop.hdfs.TestDecommission','nodeUsageVerification(int, long[], AdminStates)',NULL),(11376,'Verify getCounters converts properly from raw to real','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/api/records/TestTaskReport.java',42,42,'org.apache.hadoop.mapreduce.v2.api.records.TestTaskReport','testSetRawCounters()',NULL),(11377,'Verify getCounters converts properly from raw to real','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/api/records/TestTaskReport.java',115,115,'org.apache.hadoop.mapreduce.v2.api.records.TestTaskReport','testSetNonNullCountersToNull()',NULL),(11378,'Verify getCounters converts properly from raw to real','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/api/records/TestTaskReport.java',131,131,'org.apache.hadoop.mapreduce.v2.api.records.TestTaskReport','testSetNonNullRawCountersToNull()',NULL),(11379,'Verify getCounters converts properly from raw to real','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/api/records/TestTaskAttemptReport.java',106,106,'org.apache.hadoop.mapreduce.v2.api.records.TestTaskAttemptReport','testSetNonNullCountersToNull()',NULL),(11380,'Verify getCounters converts properly from raw to real','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/api/records/TestTaskAttemptReport.java',122,122,'org.apache.hadoop.mapreduce.v2.api.records.TestTaskAttemptReport','testSetNonNullRawCountersToNull()',NULL),(11381,'This is a reserved container','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/common/fica/FiCaSchedulerApp.java',461,461,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp','getCSAssignmentFromAllocateResult(Resource, ContainerAllocation)',NULL),(11382,'How much need to unreserve equals to:\nmax(required - headroom, amountNeedUnreserve)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/allocator/RegularContainerAllocator.java',416,417,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.allocator.RegularContainerAllocator','assignContainer(Resource, FiCaSchedulerNode, Priority, ResourceRequest, NodeType, RMContainer, SchedulingMode, ResourceLimits)',NULL),(11383,'when reservationsContinueLooking is set, we may need to unreserve\nsome containers to meet this queue, its parents\', or the users\'\nresource limits.\nTODO, need change here when we want to support continuous reservation\nlooking for labeled partitions.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/allocator/RegularContainerAllocator.java',437,441,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.allocator.RegularContainerAllocator','assignContainer(Resource, FiCaSchedulerNode, Priority, ResourceRequest, NodeType, RMContainer, SchedulingMode, ResourceLimits)',NULL),(11384,'Sufficient to rely on super\'s implementation','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoUnderConstruction.java',137,137,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoUnderConstruction','equals(Object)',NULL),(11385,'BlockInfo\nBlockInfoUnderConstruction participates in maps the same way as BlockInfo','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockInfoUnderConstruction.java',362,363,'org.apache.hadoop.hdfs.server.blockmanagement.BlockInfoUnderConstruction','hashCode()',NULL),(11386,'move the block','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',940,940,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','allocate(int)',NULL),(11387,'These values correspond to the values used by the system default erasure\ncoding policy.\nTODO: get these values from ec policy of the associated INodeFile','Block','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java',78,82,'org.apache.hadoop.hdfs.protocol.HdfsConstants','None',NULL),(11388,'OP_CLOSE should add finalized blocks. This code path\nis only executed when loading edits written by prior\nversions of Hadoop. Current versions always log\nOP_ADD operations as each block is allocated.\nTODO: ECSchema can be restored from persisted file (HDFS-7859).','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',1087,1091,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)','DESIGN'),(11389,'OP_CLOSE should add finalized blocks. This code path\nis only executed when loading edits written by prior\nversions of Hadoop. Current versions always log\nOP_ADD operations as each block is allocated.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',1087,1090,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)',NULL),(11390,'verify the state is moving to committing','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TestJobImpl.java',622,622,'org.apache.hadoop.mapreduce.v2.app.job.impl.TestJobImpl','setup()',NULL),(11391,'TODO: for other exceptions','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/rm/RMCommunicator.java',288,288,'org.apache.hadoop.mapreduce.v2.app.rm.RMCommunicator','startAllocatorThread()',NULL),(11392,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockUnderConstructionFeature.java',-1,-1,'None','None',NULL),(11393,'Shouldn\'t happen, because invokeAll waits for all Futures to be ready','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/BlockStorageLocationUtil.java',187,187,'org.apache.hadoop.hdfs.BlockStorageLocationUtil','createVolumeBlockLocationCallables(Configuration, Map<DatanodeInfo, List<LocatedBlock>>, int, boolean, Span)',NULL),(11394,'The same path string may appear in:\n1. both renamed and modified snapshot diff entries.\n2. both renamed and created snapshot diff entries.\nCase 1 is the about same file/directory, whereas case 2\nis about two different files/directories.\nWe are finding case 1 here, thus we check against DiffType.MODIFY.','Line','hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/DistCpSync.java',345,350,'org.apache.hadoop.tools.DistCpSync','getRenameItem(DiffInfo, DiffInfo[])',NULL),(11395,'TODO as part of YARN-2729\nNeed to get the implementation of provider service and return','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java',128,129,'org.apache.hadoop.yarn.server.nodemanager.NodeManager','getNMStartupTime()','NOT_DESIGN'),(11396,'Seems like Distributed Node Labels configuration is not enabled','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java',132,132,'org.apache.hadoop.yarn.server.nodemanager.NodeManager','getNMStartupTime()',NULL),(11397,'TODO Get the user configuration for the list of containers that need log\naggregation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/LogAggregationService.java',380,381,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.LogAggregationService','initAppAggregator(ApplicationId, String, Credentials, ContainerLogsRetentionPolicy, Map<ApplicationAccessType, String>, LogAggregationContext)',NULL),(11398,'TODO Get the user configuration for the list of containers that need log\naggregation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/LogAggregationService.java',379,380,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.LogAggregationService','initAppAggregator(ApplicationId, String, Credentials, Map<ApplicationAccessType, String>, LogAggregationContext)',NULL),(11399,'TODO: The condition: containerId.getId() == 1 to determine an AM container\nis not always true.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java',507,508,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.AppLogAggregatorImpl','uploadLogsForContainers(boolean)',NULL),(11400,'TODO: The condition: containerId.getId() == 1 to determine an AM container\nis not always true.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java',570,571,'org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.AppLogAggregatorImpl','getLogAggPolicy(Configuration)',NULL),(11401,'1024 for minSampleSize just a guess -- not a number computed based on\nsample size analysis. It is chosen with the hope that this\nnumber is high enough to avoid spurious logging, yet useful\nin practice.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java',426,429,'org.apache.hadoop.ipc.Server','addTerseExceptions(Class<?>...)',NULL),(11402,'TODO support truncate of striped blocks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',3127,3127,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()','NOT_DESIGN'),(11403,'Every \'slow\' read tries to fill the slow read buffer in one go for\nefficiency\'s sake. As described above, all non-checksum-chunk-aligned\nreads will be served from the slower read path.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/BlockReaderLocalLegacy.java',423,425,'org.apache.hadoop.hdfs.BlockReaderLocalLegacy','read(ByteBuffer)',NULL),(11404,'Every \'slow\' read tries to fill the slow read buffer in one go for\nefficiency\'s sake. As described above, all non-checksum-chunk-aligned\nreads will be served from the slower read path.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/BlockReaderLocalLegacy.java',426,428,'org.apache.hadoop.hdfs.BlockReaderLocalLegacy','read(ByteBuffer)',NULL),(11405,'Since we\'re creating a new UserGroupInformation here, we know that no\nfuture RPC proxies will be able to re-use the same connection. And\nusages of this proxy tend to be one-off calls.\n\nThis is a temporary fix: callers should really achieve this by using\nRPC.stopProxy() on the resulting object, but this is currently not\nworking in trunk. See the discussion on HDFS-1965.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientDatanodeProtocolTranslatorPB.java',145,151,'org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolTranslatorPB','createClientDatanodeProtocolProxy(DatanodeID, Configuration, int, boolean, LocatedBlock)',NULL),(11406,'Since we\'re creating a new UserGroupInformation here, we know that no\nfuture RPC proxies will be able to re-use the same connection. And\nusages of this proxy tend to be one-off calls.\n\nThis is a temporary fix: callers should really achieve this by using\nRPC.stopProxy() on the resulting object, but this is currently not\nworking in trunk. See the discussion on HDFS-1965.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientDatanodeProtocolTranslatorPB.java',145,151,'org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolTranslatorPB','createClientDatanodeProtocolProxy(DatanodeID, Configuration, int, boolean, LocatedBlock)',NULL),(11407,'Each packet looks like:\nPLEN    HLEN      HEADER     CHECKSUMS  DATA\n32-bit  16-bit   <protobuf>  <variable length>\n\nPLEN:      Payload length\n= length(PLEN) + length(CHECKSUMS) + length(DATA)\nThis length includes its own encoded length in\nthe sum for historical reasons.\n\nHLEN:      Header length\n= length(HEADER)\n\nHEADER:    the actual packet header fields, encoded in protobuf\nCHECKSUMS: the crcs for the data chunk. May be missing if\nchecksums were not requested\nDATA       the actual block data','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/datatransfer/PacketReceiver.java',114,129,'org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver','doRead(ReadableByteChannel, InputStream)',NULL),(11408,'Each packet looks like:\nPLEN    HLEN      HEADER     CHECKSUMS  DATA\n32-bit  16-bit   <protobuf>  <variable length>\n\nPLEN:      Payload length\n= length(PLEN) + length(CHECKSUMS) + length(DATA)\nThis length includes its own encoded length in\nthe sum for historical reasons.\n\nHLEN:      Header length\n= length(HEADER)\n\nHEADER:    the actual packet header fields, encoded in protobuf\nCHECKSUMS: the crcs for the data chunk. May be missing if\nchecksums were not requested\nDATA       the actual block data','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/datatransfer/PacketReceiver.java',114,129,'org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver','doRead(ReadableByteChannel, InputStream)',NULL),(11409,'Packet structure (refer to doRead() for details):\nPLEN    HLEN      HEADER     CHECKSUMS  DATA\n32-bit  16-bit   <protobuf>  <variable length>\n|--- lenThroughHeader ----|\n|----------- lenThroughChecksums   ----|\n|------------------- lenThroughData    ------|','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/datatransfer/PacketReceiver.java',222,227,'org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver','reslicePacket(int, int, int)',NULL),(11410,'An optimistic estimate of how much data is available\nto us without doing network I/O.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/RemoteBlockReader.java',489,490,'org.apache.hadoop.hdfs.RemoteBlockReader','available()',NULL),(11411,'An optimistic estimate of how much data is available\nto us without doing network I/O.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/RemoteBlockReader.java',493,494,'org.apache.hadoop.hdfs.RemoteBlockReader','available()',NULL),(11412,'An optimistic estimate of how much data is available\nto us without doing network I/O.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/RemoteBlockReader2.java',458,459,'org.apache.hadoop.hdfs.RemoteBlockReader2','available()',NULL),(11413,'An optimistic estimate of how much data is available\nto us without doing network I/O.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/RemoteBlockReader2.java',461,462,'org.apache.hadoop.hdfs.RemoteBlockReader2','available()',NULL),(11414,'TODO: do we want to verify checksum for JN? For now we don\'t.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.java',4729,4729,'org.apache.hadoop.hdfs.server.namenode.FSEditLogOp','scanOp()','DESIGN'),(11415,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogOp.java',-1,-1,'None','None',NULL),(11416,'TODO we do not support replication on stripe layout files yet','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java',409,409,'org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp','unprotectedSetReplication(FSDirectory, String, short)',NULL),(11417,'we want to ensure that blockpools not specified by the balancer\nparameters were left alone. Therefore, if the pool was specified,\nskip it. Note: this code assumes the clients in the suite are ordered\nthe same way that they are indexed via cluster#getNamesystem(index).','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancerWithMultipleNameNodes.java',289,292,'org.apache.hadoop.hdfs.server.balancer.TestBalancerWithMultipleNameNodes','DatanodeStorageReport[]> getStorageReports(Suite)',NULL),(11418,'TCP_NODELAY is crucial here because of bad interactions between\nNagle\'s Algorithm and Delayed ACKs. With connection keepalive\nbetween the client and DN, the conversation looks like:\n1. Client -> DN: Read block X\n2. DN -> Client: data for block X\n3. Client -> DN: Status OK (successful read)\n4. Client -> DN: Read block Y\nThe fact that step #3 and #4 are both in the client->DN direction\ntriggers Nagling. If the DN is using delayed ACKs, this results\nin a delay of 40ms or more.\n\nTCP_NODELAY disables nagling and thus avoids this performance\ndisaster.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java',51,63,'org.apache.hadoop.hdfs.net.TcpPeerServer','peerFromSocket(Socket)',NULL),(11419,'TCP_NODELAY is crucial here because of bad interactions between\nNagle\'s Algorithm and Delayed ACKs. With connection keepalive\nbetween the client and DN, the conversation looks like:\n1. Client -> DN: Read block X\n2. DN -> Client: data for block X\n3. Client -> DN: Status OK (successful read)\n4. Client -> DN: Read block Y\nThe fact that step #3 and #4 are both in the client->DN direction\ntriggers Nagling. If the DN is using delayed ACKs, this results\nin a delay of 40ms or more.\n\nTCP_NODELAY disables nagling and thus avoids this performance\ndisaster.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSUtilClient.java',542,554,'org.apache.hadoop.hdfs.DFSUtilClient','peerFromSocket(Socket)',NULL),(11420,'TODO: Consider renaming EncryptedPeer to SaslPeer.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocol/datatransfer/sasl/SaslDataTransferClient.java',163,163,'org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient','newSocketSend(Socket, OutputStream, InputStream, DataEncryptionKeyFactory, Token<BlockTokenIdentifier>, DatanodeID)',NULL),(11421,'TODO: Consider renaming EncryptedPeer to SaslPeer.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/datatransfer/sasl/SaslDataTransferClient.java',163,163,'org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient','newSocketSend(Socket, OutputStream, InputStream, DataEncryptionKeyFactory, Token<BlockTokenIdentifier>, DatanodeID)',NULL),(11422,'Return the released container back to the AM with new fake Ids. The\ntest case does not care about the IDs. The IDs are faked because\notherwise the LRM will throw duplication identifier exception. This\nreturning of fake containers is ONLY done for testing purpose - for\nthe test code to get confirmation that the sub-cluster resource\nmanagers received the release request','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/amrmproxy/MockResourceManagerFacade.java',273,278,'org.apache.hadoop.yarn.server.nodemanager.amrmproxy.MockResourceManagerFacade','allocate(AllocateRequest)',NULL),(11423,'We don\'t allow symlinks in an EC zone, or pointing to a file/dir in\nan EC. Therefore if a symlink is encountered, the dir shouldn\'t have\nEC\nTODO: properly support symlinks in EC zones','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/ErasureCodingZoneManager.java',76,79,'org.apache.hadoop.hdfs.server.namenode.ErasureCodingZoneManager','getErasureCodingZone(INodesInPath)',NULL),(11424,'Test move dir\nMove EC dir under non-EC dir','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java',127,128,'org.apache.hadoop.hdfs.TestErasureCodingPolicies','testMoveValidity()',NULL),(11425,'move back','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java',131,131,'org.apache.hadoop.hdfs.TestErasureCodingPolicies','testMoveValidity()',NULL),(11426,'Move EC dir under another EC dir','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java',133,133,'org.apache.hadoop.hdfs.TestErasureCodingPolicies','testMoveValidity()',NULL),(11427,'We don\'t allow setting EC policies on paths with a symlink. Thus\nif a symlink is encountered, the dir shouldn\'t have EC policy.\nTODO: properly support symlinks','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java',232,234,'org.apache.hadoop.hdfs.server.namenode.FSDirErasureCodingOp','getErasureCodingPolicyForPath(FSNamesystem, INodesInPath)',NULL),(11428,'TODO refactor the following into the pipeline','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java',812,812,'org.apache.hadoop.mapred.ShuffleHandler','operationComplete(ChannelFuture)','DESIGN'),(11429,'Initialize one ReduceContext object per messageReceived call','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java',926,926,'org.apache.hadoop.mapred.ShuffleHandler','operationComplete(ChannelFuture)',NULL),(11430,'TODO : Need to check which conf to use.Currently setting as 1 min','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java',901,901,'org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl','serviceInit(Configuration)',NULL),(11431,'TODO','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java',1162,1162,'org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader','loadFSEdits(EditLogInputStream, long)','NOT_DESIGN'),(11432,'Initialize UserGroupMappingPlacementRule\nTODO, need make this defineable by configuration.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java',479,480,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler','updatePlacementRules()',NULL),(11433,'TODO (in YARN-3223) update resource when container finished.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',225,225,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','None',NULL),(11434,'Treats nodes in decommissioning as active nodes\nTODO we may want to differentiate active nodes and decommissioning node in\nmetrics later.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',558,560,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','toString()',NULL),(11435,'TODO (in YARN-3223) Keep NM\'s available resource to be 0','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',915,915,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','toString()',NULL),(11436,'TODO handle NM resource resume in YARN-3223.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',931,931,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','transition(RMNodeImpl, RMNodeEvent)',NULL),(11437,'no running (and keeping alive) app on this node, get it\ndecommissioned.\nTODO may need to check no container is being scheduled on this node\nas well.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',974,977,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','transition(RMNodeImpl, RMNodeEvent)',NULL),(11438,'TODO (in YARN-3223) if node in decommissioning, get node resource\nupdated if container get finished (keep available resource to be 0)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',984,985,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','transition(RMNodeImpl, RMNodeEvent)',NULL),(11439,'Move datanode1 to Decommissioned state','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDecommission.java',1154,1154,'org.apache.hadoop.hdfs.TestDecommission','testCountOnDecommissionedNodeList()',NULL),(11440,'If we skipped sort queue this time, we need to resort queues to make\nsure we allocate from least usage (or order defined by queue policy)\nqueues.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',655,657,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue','completedContainer(Resource, FiCaSchedulerApp, FiCaSchedulerNode, RMContainer, ContainerStatus, RMContainerEventType, CSQueue, boolean)','NOT_DESIGN'),(11441,'Inform the parent','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',700,700,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue','completedContainer(Resource, FiCaSchedulerApp, FiCaSchedulerNode, RMContainer, ContainerStatus, RMContainerEventType, CSQueue, boolean)',NULL),(11442,'If we skipped sort queue this time, we need to resort queues to make\nsure we allocate from least usage (or order defined by queue policy)\nqueues.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/ParentQueue.java',651,653,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue','internalReleaseResource(Resource, FiCaSchedulerNode, Resource, boolean, CSQueue, boolean)',NULL),(11443,'Resource comparasion should be >= (or <=) for all resource vectors, for\nexample, you cannot request target resource of a <10G, 10> container to\n<20G, 8>','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMServerUtils.java',158,160,'org.apache.hadoop.yarn.server.resourcemanager.RMServerUtils','queryRMNodes(RMContext, EnumSet<NodeState>)',NULL),(11444,'Check if we need to unreserve something, note that we don\'t support\ncontinuousReservationLooking now. TODO, need think more about how to\nsupport it.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/allocator/IncreaseContainerAllocator.java',191,193,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.allocator.IncreaseContainerAllocator','assignContainers(Resource, FiCaSchedulerNode, SchedulingMode, ResourceLimits, RMContainer)',NULL),(11445,'if the target capacity is more than what the node can offer, we\nwill simply remove and skip it.\nThe reason of doing check here instead of adding increase request\nto scheduler because node\'s resource could be updated after\nrequest added.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/allocator/IncreaseContainerAllocator.java',295,299,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.allocator.IncreaseContainerAllocator','assignContainers(Resource, FiCaSchedulerNode, SchedulingMode, ResourceLimits, RMContainer)',NULL),(11446,'When the container expired, and it has a pending increased request, we\nwill kill the container.\nTODO, we can do better for this: roll back container resource to the\nresource before increase, and notify scheduler about this decrease as\nwell. Will do that in a separated JIRA.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmcontainer/RMContainerImpl.java',565,569,'org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl','transition(RMContainerImpl, RMContainerEvent)',NULL),(11447,'These values correspond to the values used by the system default erasure\ncoding policy.\nTODO: get these values from ec policy of the associated INodeFile','Block','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java',89,93,'org.apache.hadoop.hdfs.protocol.HdfsConstants','None','DESIGN'),(11448,'Timeouts for communicating with DataNode for streaming writes/reads','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/HdfsConstants.java',89,89,'org.apache.hadoop.hdfs.protocol.HdfsConstants','None',NULL),(11449,'TODO support more policies based on policyId','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java',394,394,'org.apache.hadoop.hdfs.server.namenode.INodeFile','getPreferredBlockReplication()',NULL),(11450,'avoid declaring nodes dead for another cycle if a GC pause lasts\nlonger than the node recheck interval','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HeartbeatManager.java',419,420,'org.apache.hadoop.hdfs.server.blockmanagement.HeartbeatManager','activate(Configuration)',NULL),(11451,'If our compiler threads were interrupted, give up on this run','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DirectoryScanner.java',733,733,'org.apache.hadoop.hdfs.server.datanode.DirectoryScanner','setRetainDiffs(boolean)',NULL),(11452,'We need lots of blocks so the report compiler threads have enough to\nkeep them busy while we watch them.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDirectoryScanner.java',563,564,'org.apache.hadoop.hdfs.server.datanode.TestDirectoryScanner','setup()',NULL),(11453,'XXX Use of CocurrentHashMap is temp fix. Need to fix\nparallel accesses to DFSInputStream (through ptreads) properly','Block','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',245,246,'org.apache.hadoop.hdfs.DFSInputStream','Object> getExtendedReadBuffers()',NULL),(11454,'XXX Use of CocurrentHashMap is temp fix. Need to fix\nparallel accesses to DFSInputStream (through ptreads) properly','Block','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',245,246,'org.apache.hadoop.hdfs.DFSInputStream','Object> getExtendedReadBuffers()',NULL),(11455,'\nConnect to best DataNode for desired Block, with potential offset\n','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',594,596,'org.apache.hadoop.hdfs.DFSInputStream','Object> getExtendedReadBuffers()',NULL),(11456,'\nConnect to best DataNode for desired Block, with potential offset\n','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',594,596,'org.apache.hadoop.hdfs.DFSInputStream','Object> getExtendedReadBuffers()',NULL),(11457,'The range was already checked. If the block reader returns\nsomething unexpected instead of throwing an exception, it is\nmost likely a bug.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',1591,1593,'org.apache.hadoop.hdfs.DFSInputStream','Object> getExtendedReadBuffers()',NULL),(11458,'The range was already checked. If the block reader returns\nsomething unexpected instead of throwing an exception, it is\nmost likely a bug.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',1591,1593,'org.apache.hadoop.hdfs.DFSInputStream','Object> getExtendedReadBuffers()',NULL),(11459,'Java ByteBuffers can\'t be longer than 2 GB, because they use\n4-byte signed integers to represent capacity, etc.\nSo we can\'t mmap the parts of the block higher than the 2 GB offset.\nFIXME: we could work around this with multiple memory maps.\nSee HDFS-5101.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',1842,1846,'org.apache.hadoop.hdfs.DFSInputStream','tryReadZeroCopy(int, EnumSet<ReadOption>)',NULL),(11460,'Java ByteBuffers can\'t be longer than 2 GB, because they use\n4-byte signed integers to represent capacity, etc.\nSo we can\'t mmap the parts of the block higher than the 2 GB offset.\nFIXME: we could work around this with multiple memory maps.\nSee HDFS-5101.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java',1842,1846,'org.apache.hadoop.hdfs.DFSInputStream','tryReadZeroCopy(int, EnumSet<ReadOption>)',NULL),(11461,'This kind of error doesn\'t mean that the stream itself is broken - just the\nflushing thread got interrupted. So, we shouldn\'t close down the writer,\nbut instead just propagate the error','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',656,658,'org.apache.hadoop.hdfs.DFSOutputStream','flushOrSync(boolean, EnumSet<SyncFlag>)',NULL),(11462,'This kind of error doesn\'t mean that the stream itself is broken - just the\nflushing thread got interrupted. So, we shouldn\'t close down the writer,\nbut instead just propagate the error','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',656,658,'org.apache.hadoop.hdfs.DFSOutputStream','flushOrSync(boolean, EnumSet<SyncFlag>)',NULL),(11463,'setup pipeline to append to the last block XXX retries??','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',454,454,'org.apache.hadoop.hdfs.DataStreamer','createSocketForPipeline(DatanodeInfo, int, DFSClient)',NULL),(11464,'setup pipeline to append to the last block XXX retries??','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',455,455,'org.apache.hadoop.hdfs.DataStreamer','createSocketForPipeline(DatanodeInfo, int, DFSClient)',NULL),(11465,'TODO: use setParents API once it\'s available from HTrace 3.2','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',561,561,'org.apache.hadoop.hdfs.DataStreamer','createSocketForPipeline(DatanodeInfo, int, DFSClient)',NULL),(11466,'TODO: use setParents API once it\'s available from HTrace 3.2','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',562,562,'org.apache.hadoop.hdfs.DataStreamer','createSocketForPipeline(DatanodeInfo, int, DFSClient)','NOT_DESIGN'),(11467,'Give DNs time to send in bad reports. In real situations,\ngood reports should follow bad ones, if client committed\nwith those nodes.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',1385,1387,'org.apache.hadoop.hdfs.DataStreamer','failPacket4Testing()',NULL),(11468,'Give DNs time to send in bad reports. In real situations,\ngood reports should follow bad ones, if client committed\nwith those nodes.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',1386,1388,'org.apache.hadoop.hdfs.DataStreamer','failPacket4Testing()',NULL),(11469,'Don\'t try to DNS-resolve logical URIs, since the \'authority\'\nportion isn\'t a proper hostname','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java',1537,1538,'org.apache.hadoop.hdfs.DistributedFileSystem','canonicalizeUri(URI)',NULL),(11470,'Don\'t try to DNS-resolve logical URIs, since the \'authority\'\nportion isn\'t a proper hostname','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java',1535,1536,'org.apache.hadoop.hdfs.DistributedFileSystem','canonicalizeUri(URI)',NULL),(11471,'None','None','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java',-1,-1,'None','None',NULL),(11472,'There should only be one trace id as it should all be homed in the\ntop trace.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java',171,172,'org.apache.hadoop.tracing.TestTracing','readWithTracing(Tracer)',NULL),(11473,'We return the amount of bytes between the current offset and the visible\nlength.  Some of the other block readers return a shorter length than\nthat.  The only advantage to returning a shorter length is that the\nDFSInputStream will trash your block reader and create a new one if\nsomeone tries to seek() beyond the available() region.','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/ExternalBlockReader.java',83,87,'org.apache.hadoop.hdfs.ExternalBlockReader','available()',NULL),(11474,'TODO: implement hflush/hsync and verify gs strict greater than oldGS','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSStripedOutputStreamWithFailure.java',346,346,'org.apache.hadoop.hdfs.TestDFSStripedOutputStreamWithFailure','newLengths()',NULL),(11475,'No internal block for this streamer, maybe no enough healthy DN.\nThrow the exception which has been set by the StripedOutputStream.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/StripedDataStreamer.java',82,83,'org.apache.hadoop.hdfs.StripedDataStreamer','getFollowingBlock()',NULL),(11476,'TODO collect excludedNodes from all the data streamers','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',424,424,'org.apache.hadoop.hdfs.DFSStripedOutputStream','allocateNewBlock()',NULL),(11477,'TODO we can also succeed if all the failed streamers have not taken\nthe updated block','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',576,577,'org.apache.hadoop.hdfs.DFSStripedOutputStream','checkStreamerFailures()',NULL),(11478,'TODO for both close and endBlock, we currently do not handle\nfailures when sending the last packet. We actually do not need to\nbump GS for this kind of failure. Thus counting the total number\nof failures may be good enough.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',887,890,'org.apache.hadoop.hdfs.DFSStripedOutputStream','closeImpl()',NULL),(11479,'TODO: Don\'t create again and again.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/amlauncher/AMLauncher.java',157,157,'org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher','getContainerMgrProxy(ContainerId)','NOT_DESIGN'),(11480,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/amlauncher/AMLauncher.java',-1,-1,'None','None',NULL),(11481,'TODO: Don\'t create again and again.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/amlauncher/AMLauncher.java',179,179,'org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher','getYarnRPC()',NULL),(11482,'TODO for windows support.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/ContainerLaunch.java',546,546,'org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch','expandEnvironment(String, Path)',NULL),(11483,'This kind of error doesn\'t mean that the stream itself is broken - just the\nflushing thread got interrupted. So, we shouldn\'t close down the writer,\nbut instead just propagate the error','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',657,659,'org.apache.hadoop.hdfs.DFSOutputStream','flushOrSync(boolean, EnumSet<SyncFlag>)',NULL),(11484,'This kind of error doesn\'t mean that the stream itself is broken - just\nthe flushing thread got interrupted. So, we shouldn\'t close down the\nwriter, but instead just propagate the error','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSOutputStream.java',640,642,'org.apache.hadoop.hdfs.DFSOutputStream','flushOrSync(boolean, EnumSet<SyncFlag>)',NULL),(11485,'TODO : Need to check which conf to use.Currently setting as 1 min','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java',947,947,'org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl','serviceInit(Configuration)','DESIGN'),(11486,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java',-1,-1,'None','None',NULL),(11487,'TODO collect excludedNodes from all the data streamers','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',423,423,'org.apache.hadoop.hdfs.DFSStripedOutputStream','allocateNewBlock()','NOT_DESIGN'),(11488,'None','None','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedOutputStream.java',-1,-1,'None','None',NULL),(11489,'The downstream error was caused by upstream including this\nnode not sending packet in time. Let the upstream determine\nwho is at fault.  If the immediate upstream node thinks it\nhas sent a packet in time, this node will be reported as bad.\nOtherwise, the upstream node will propagate the error up by\nclosing the connection.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java',1337,1342,'org.apache.hadoop.hdfs.server.datanode.BlockReceiver','getDataNode()',NULL),(11490,'fake turning on security so api thinks it should use tokens','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/web/webhdfs/TestDataNodeUGIProvider.java',70,70,'org.apache.hadoop.hdfs.server.datanode.web.webhdfs.TestDataNodeUGIProvider','testUGICacheSecure()',NULL),(11491,'TODO currently we do not support concatenating EC files','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirConcatOp.java',157,157,'org.apache.hadoop.hdfs.server.namenode.FSDirConcatOp','verifySrcFiles(FSDirectory, String[], INodesInPath, FSPermissionChecker)','NOT_DESIGN'),(11492,'avoid declaring nodes dead for another cycle if a GC pause lasts\nlonger than the node recheck interval','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HeartbeatManager.java',402,403,'org.apache.hadoop.hdfs.server.blockmanagement.HeartbeatManager','run()',NULL),(11493,'move it along','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/JobHistoryFileReplayMapperV1.java',139,139,'org.apache.hadoop.mapreduce.JobHistoryFileReplayMapperV1','map(IntWritable, IntWritable, Context)',NULL),(11494,'queue up a bunch of futures for postponed calls serviced\nin a random order.','Line','hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestSaslRPC.java',917,918,'org.apache.hadoop.ipc.TestSaslRPC','testSaslResponseOrdering()',NULL),(11495,'DFSClient will attempt reverse lookup. In case it resolves\n\\\"127.0.0.1\\\" to \\\"localhost\\\", we manually specify the hostname.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancer.java',380,381,'org.apache.hadoop.hdfs.server.balancer.TestBalancer','initTestSetup()','DESIGN'),(11496,'A very low DFS_IMAGE_TRANSFER_BOOTSTRAP_STANDBY_RATE_KEY value should\ncause timeout','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestBootstrapStandby.java',258,259,'org.apache.hadoop.hdfs.server.namenode.ha.TestBootstrapStandby','testRateThrottling()',NULL),(11497,'The user am resource limit is based on the same approach as the user\nlimit (as it should represent a subset of that). This means that it uses\nthe absolute queue capacity (per partition) instead of the max and is\nmodified by the userlimit and the userlimit factor as is the userlimit','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',550,555,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11498,'For non-labeled partition, we need to consider the current queue\nusage limit.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',586,587,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11499,'Queue structure:\nroot (*)\n________________\n/                \\\na x(100%), y(50%)   b y(50%), z(100%)\n________________    ______________\n/                   /              \\\na1 (x,y)         b1(no)              b2(y,z)\n100%                          y = 100%, z = 100%\n\nNode structure:\nh1 : x\nh2 : y\nh3 : y\nh4 : z\nh5 : NO\n\nTotal resource:\nx: 10G\ny: 20G\nz: 10G\n*: 10G\n\nAM resource percentage config:\nA1  : 0.25\nB2  : 0.15','Block','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationLimitsByPartition.java',406,433,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestApplicationLimitsByPartition','testAMResourceLimitForMultipleApplications()',NULL),(11500,'Calculate the best available replica state.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java',2815,2815,'org.apache.hadoop.hdfs.server.datanode.DataNode','syncBlock(RecoveringBlock, List<BlockRecord>)',NULL),(11501,'Calculate the best available replica state.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockRecoveryWorker.java',165,165,'org.apache.hadoop.hdfs.server.datanode.BlockRecoveryWorker','syncBlock(List<BlockRecord>)',NULL),(11502,'Remove the resource if its downloading and its reference count has\nbecome 0 after RELEASE. This maybe because a container was killed while\nlocalizing and no other container is referring to the resource.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java',190,192,'org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.LocalResourcesTrackerImpl','handle(ResourceEvent)',NULL),(11503,'Update the job priority to Job directly.','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/rm/RMContainerAllocator.java',929,929,'org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator','serviceInit(Configuration)',NULL),(11504,'TODO no copy for data chunks. this depends on HADOOP-12047','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',895,895,'org.apache.hadoop.hdfs.DFSStripedInputStream','decode()','DESIGN'),(11505,'None','None','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSStripedInputStream.java',-1,-1,'None','None',NULL),(11506,'Missing KMS ACL but works because defaults for KMS ACLs are fully\npermissive','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestAclsEndToEnd.java',761,762,'org.apache.hadoop.hdfs.TestAclsEndToEnd','testCreateEncryptionZone()',NULL),(11507,'missing 1 block, so 1 task should be scheduled','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestRecoverStripedBlocks.java',207,207,'org.apache.hadoop.hdfs.server.namenode.TestRecoverStripedBlocks','test2RecoveryTasksForSameBlockGroup()',NULL),(11508,'missing another block, but no new task should be scheduled because\nprevious task isn\'t finished.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestRecoverStripedBlocks.java',215,216,'org.apache.hadoop.hdfs.server.namenode.TestRecoverStripedBlocks','test2RecoveryTasksForSameBlockGroup()',NULL),(11509,'\nMove the previous metafile into the current one.\n','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestCrcCorruption.java',240,242,'org.apache.hadoop.hdfs.TestCrcCorruption','thistest(Configuration, DFSTestUtil)','DESIGN'),(11510,'bytes','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestCrcCorruption.java',186,186,'org.apache.hadoop.hdfs.TestCrcCorruption','thistest(Configuration, DFSTestUtil)',NULL),(11511,'The block was initially created on excessSSD(rack r1),\nstorages[4](rack r3) and storages[5](rack r3) with\nONESSD_STORAGE_POLICY_NAME storage policy.\nRight after balancer moves the block from storages[5] to\nstorages[3](rack r2), the application changes the storage policy from\nONESSD_STORAGE_POLICY_NAME to HOT_STORAGE_POLICY_ID. In this case,\nno replica can be chosen as the excessive replica as\nchooseReplicasToDelete only considers storages[4] and storages[5] that\nare the same rack. But neither\'s storage type is SSD.\nTODO BlockPlacementPolicyDefault should be able to delete excessSSD.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java',1035,1044,'org.apache.hadoop.hdfs.server.blockmanagement.TestReplicationPolicy','testChooseReplicasToDelete()',NULL),(11512,'None','None','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancer.java',-1,-1,'None','None',NULL),(11513,'DFSClient will attempt reverse lookup. In case it resolves\n\\\"127.0.0.1\\\" to \\\"localhost\\\", we manually specify the hostname.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/balancer/TestBalancer.java',388,389,'org.apache.hadoop.hdfs.server.balancer.TestBalancer','shutdown()',NULL),(11514,'Check if the move will violate the block placement policy.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java',1178,1178,'org.apache.hadoop.hdfs.server.balancer.Dispatcher','isGoodBlockCandidateForPlacementPolicy(StorageGroup, StorageGroup, DBlock)',NULL),(11515,'Verify DirectoryWithQuotaFeature\'s storage type usage\nis updated properly after deletion.\nFile creation followed by deletion shouldn\'t change storage type\nusage regardless whether storage policy is set.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java',817,820,'org.apache.hadoop.hdfs.TestQuota','testQuotaByStorageType()',NULL),(11516,'Shouldn\'t assign RACK_LOCAL because schedulingOpportunities should have gotten reset.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java',1645,1645,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.TestLeafQueue','testLocalityScheduling()',NULL),(11517,'Remove the resource if its downloading and its reference count has\nbecome 0 after RELEASE. This maybe because a container was killed while\nlocalizing and no other container is referring to the resource.\nNOTE: This should NOT be done for public resources since the\ndownload is not associated with a container-specific localizer.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourcesTrackerImpl.java',195,199,'org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.LocalResourcesTrackerImpl','handle(ResourceEvent)',NULL),(11518,'return a single Resource capturing the overal amount of pending resources','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1518,1518,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)','NOT_DESIGN'),(11519,'Consider the headroom for each user in the queue.\nTotal pending for the queue =\nsum(for each user(min((user\'s headroom), sum(user\'s pending requests))))\nNOTE: Used for calculating pedning resources in the preemption monitor.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1517,1520,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11520,'Make sure headroom is not negative.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java',1533,1533,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue','setupQueueConfigs(Resource)',NULL),(11521,'The block was initially created on excessSSD(rack r1),\nstorages[4](rack r3) and storages[5](rack r3) with\nONESSD_STORAGE_POLICY_NAME storage policy.\nRight after balancer moves the block from storages[5] to\nstorages[3](rack r2), the application changes the storage policy from\nONESSD_STORAGE_POLICY_NAME to HOT_STORAGE_POLICY_ID. In this case,\nno replica can be chosen as the excessive replica as\nchooseReplicasToDelete only considers storages[4] and storages[5] that\nare the same rack. But neither\'s storage type is SSD.\nTODO BlockPlacementPolicyDefault should be able to delete excessSSD.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java',1036,1045,'org.apache.hadoop.hdfs.server.blockmanagement.TestReplicationPolicy','testChooseReplicasToDelete()','DESIGN'),(11522,'The block was initially created on excessSSD(rack r1),\nstorages[4](rack r3) and storages[5](rack r3) with\nONESSD_STORAGE_POLICY_NAME storage policy. Replication factor = 3.\nRight after balancer moves the block from storages[5] to\nstorages[3](rack r2), the application changes the storage policy from\nONESSD_STORAGE_POLICY_NAME to HOT_STORAGE_POLICY_ID. In this case,\nwe should be able to delete excessSSD since the remaining','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java',1035,1041,'org.apache.hadoop.hdfs.server.blockmanagement.TestReplicationPolicy','testChooseReplicasToDelete()',NULL),(11523,'are on different racks (r2, r3).','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java',1043,1043,'org.apache.hadoop.hdfs.server.blockmanagement.TestReplicationPolicy','testChooseReplicasToDelete()',NULL),(11524,'Similar to above, but after policy change and before deletion,\nthe replicas are located on excessSSD(rack r1), storages[2](rack r2)\nReplication factor = 1. We should be able to delete excessSSD.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java',1076,1078,'org.apache.hadoop.hdfs.server.blockmanagement.TestReplicationPolicy','testChooseReplicasToDelete()',NULL),(11525,'The block was initially created on excessSSD(rack r1),\nstorages[4](rack r3) and storages[5](rack r3) with\nONESSD_STORAGE_POLICY_NAME storage policy. Replication factor = 2.\nIn this case, no replica can be chosen as the excessive replica by\nchooseReplicasToDelete because if the SSD storage is deleted,\nthe remaining storages[4] and storages[5] are the same rack (r3),\nviolating block placement policy (i.e. the number of racks >= 2).\nTODO BlockPlacementPolicyDefault should be able to rebalance the replicas\nand then delete excessSSD.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java',1089,1097,'org.apache.hadoop.hdfs.server.blockmanagement.TestReplicationPolicy','testChooseReplicasToDelete()',NULL),(11526,'fake turning on security so api thinks it should use tokens','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/web/webhdfs/TestDataNodeUGIProvider.java',75,75,'org.apache.hadoop.hdfs.server.datanode.web.webhdfs.TestDataNodeUGIProvider','testUGICacheSecure()',NULL),(11527,'Update the job priority to Job directly.','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/local/LocalContainerAllocator.java',153,153,'org.apache.hadoop.mapreduce.v2.app.local.LocalContainerAllocator','heartbeat()',NULL),(11528,'For UNDEFINED_PRIORITY, we can set it to default for better handling','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java',706,706,'org.apache.hadoop.mapreduce.Job','convertPriorityToInteger(JobPriority)',NULL),(11529,'walking over the buffer and split sizes checks for proper processing\nof the ambiguous bytes of the delimiter','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestLineRecordReader.java',506,507,'org.apache.hadoop.mapred.TestLineRecordReader','testUncompressedInputCustomDelimiterPosValue()',NULL),(11530,'walking over the buffer and split sizes checks for proper processing\nof the ambiguous bytes of the delimiter','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestLineRecordReader.java',504,505,'org.apache.hadoop.mapreduce.lib.input.TestLineRecordReader','testUncompressedInputCustomDelimiterPosValue()',NULL),(11531,'Move mirror to mirror.old','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',264,264,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover(boolean)',NULL),(11532,'Move mirror to mirror.old','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',269,269,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover()',NULL),(11533,'move mirror.writing to mirror','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',270,270,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover(boolean)',NULL),(11534,'move mirror.writing to mirror','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/FileSystemNodeLabelsStore.java',275,275,'org.apache.hadoop.yarn.nodelabels.FileSystemNodeLabelsStore','recover()',NULL),(11535,'Cast ReplicaInfo to Replica, because ReplicaInfo assumes a file-based\nFsVolumeSpi implementation.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImplTestUtils.java',395,396,'org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImplTestUtils','getStoredReplicas(String)',NULL),(11536,'defending against a couple of common submission format problems','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java',1905,1905,'org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebServices','createReservationSubmissionRequest(ReservationSubmissionRequestInfo)',NULL),(11537,'defending against a couple of common submission format problems','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebServices.java',2012,2012,'org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebServices','createReservationUpdateRequest(ReservationUpdateRequestInfo)',NULL),(11538,'We shouldn\'t be calling saveNamespace if we\'ve come up in standby state.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',958,958,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','initialValue()',NULL),(11539,'We shouldn\'t be calling saveNamespace if we\'ve come up in standby state.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java',944,944,'org.apache.hadoop.hdfs.server.namenode.FSNamesystem','isAuditEnabled()',NULL),(11540,'Give the specific information which might be applicable for the\nrespective scheduler\nqueue\'s resource usage for specific partition','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/SchedulerApplicationAttempt.java',955,957,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerApplicationAttempt','getActivedAppDiagnosticMessage(StringBuilder)',NULL),(11541,'MAPREDUCE-6436: In order to reduce the number of logs written\nin case of a lot of move pending histories.','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryFileManager.java',223,224,'org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager','add(String, String)',NULL),(11542,'create a task intended to block while processing, thus causing\nthe queue to backup.  simulates how a full BR is processed.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',866,867,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager','testBlockReportQueueing()',NULL),(11543,'wait 1s for the future to block.  it should run instantaneously.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',904,904,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager','testBlockReportQueueing()',NULL),(11544,'should effectively return immediately since calls are queued.\nhowever they should be backed up in the queue behind the blocking\noperation.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',911,913,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager','testBlockReportQueueing()',NULL),(11545,'when and how many IBRs are queued is indeterminate, so just watch\nthe metrics and verify something was queued at during execution.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java',986,987,'org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager','testAsyncIBR()',NULL),(11546,'Treats nodes in decommissioning as active nodes\nTODO we may want to differentiate active nodes and decommissioning node in\nmetrics later.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',650,652,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','toString()','NOT_DESIGN'),(11547,'Update metrics when moving to Decommissioning state','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java',650,650,'org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl','toString()',NULL),(11548,'TODO: support truncate','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockRecoveryWorker.java',380,380,'org.apache.hadoop.hdfs.server.datanode.BlockRecoveryWorker','recover()',NULL),(11549,'if we have >1 replicas for the same internal block, we\nsimply choose the one with larger length.\nTODO: better usage of redundant replicas','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockRecoveryWorker.java',418,420,'org.apache.hadoop.hdfs.server.datanode.BlockRecoveryWorker','recover()',NULL),(11550,'return the safeLength\nTODO: Include lastFullStripeIdx+1 stripe in safeLength, if there exists\nsuch a stripe (and it must be partial).','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockRecoveryWorker.java',531,533,'org.apache.hadoop.hdfs.server.datanode.BlockRecoveryWorker','getSafeLength(Map<Long, BlockRecord>)',NULL),(11551,'Java has a bug with >2GB request streams.  It won\'t bounds check\nthe reads so the transfer blocks until the server times out','Line','hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java',1819,1820,'org.apache.hadoop.hdfs.web.WebHdfsFileSystem','initializeInputStream(HttpURLConnection)',NULL),(11552,'if we specified attemptId as well as groupId, it would save the entity\ninto\nFileSystem instead of levelDB store','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClientForATS1_5.java',125,127,'org.apache.hadoop.yarn.client.api.impl.TestTimelineClientForATS1_5','testPostEntities()',NULL),(11553,'Since FairScheduler queue mapping is done inside scheduler,\nif FairScheduler is used and the queue doesn\'t exist, we should not\nfail here because queue will be created inside FS. Ideally, FS queue\nmapping should be done outside scheduler too like CS.\nFor now, exclude FS for the acl check.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java',356,360,'org.apache.hadoop.yarn.server.resourcemanager.RMAppManager','createAndPopulateNewRMApp(ApplicationSubmissionContext, long, String, boolean)',NULL),(11554,'TODO making containerIdCounter long','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AppSchedulingInfo.java',64,64,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.AppSchedulingInfo','None','DESIGN'),(11555,'Activate application. Metrics activation is done here.\nTODO: Shouldn\'t we activate even if numContainers = 0?','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AppSchedulingInfo.java',327,328,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.AppSchedulingInfo','updateResourceRequests(List<ResourceRequest>, boolean)',NULL),(11556,'the Windows behavior is different and this test currently doesn\'t really\napply\nMAPREDUCE-6588 should revisit this test','Line','hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestYARNRunner.java',584,586,'org.apache.hadoop.mapred.TestYARNRunner','testAMStandardEnv(boolean)',NULL),(11557,'TODO: support Windows','Line','hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/cmakebuilder/CompileMojo.java',87,87,'org.apache.hadoop.maven.plugin.cmakebuilder.CompileMojo','validatePlatform()',NULL),(11558,'The second make is a workaround for HADOOP-9215.  It can be\nremoved when cmake 2.6 is no longer supported.','Line','hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/cmakebuilder/CompileMojo.java',100,101,'org.apache.hadoop.maven.plugin.cmakebuilder.CompileMojo','execute()',NULL),(11559,'This doesn\'t catch all the bad cases-- we could be following symlinks or\nhardlinks, etc.  However, this will usually catch a common mistake.','Line','hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/cmakebuilder/CompileMojo.java',127,128,'org.apache.hadoop.maven.plugin.cmakebuilder.CompileMojo','validateSourceParams(File, File)',NULL),(11560,'TODO: it would be nice to determine the number of CPUs and set the\nparallelism to that.  It requires some platform-specific logic, though.','Line','hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/cmakebuilder/CompileMojo.java',206,207,'org.apache.hadoop.maven.plugin.cmakebuilder.CompileMojo','runMake()','DESIGN'),(11561,'TODO: support Windows','Line','hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/cmakebuilder/TestMojo.java',113,113,'org.apache.hadoop.maven.plugin.cmakebuilder.TestMojo','None',NULL),(11562,'None','None','hadoop-maven-plugins/src/main/java/org/apache/hadoop/maven/plugin/cmakebuilder/CompileMojo.java',-1,-1,'None','None',NULL),(11563,'TODO: What happens if this is no longer a reserved container, for e.g if\nthe reservation became an allocation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java',1592,1593,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler','killReservedContainer(RMContainer)','DESIGN'),(11564,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java',-1,-1,'None','None',NULL),(11565,'To think: What happens if this is no longer a reserved container, for\ne.g if the reservation became an allocation.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java',1593,1594,'org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler','killReservedContainer(RMContainer)',NULL),(11566,'TODO: block manager read lock and NS write lock','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',542,542,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11567,'Create proxy that can retry exceptions properly.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RequestHedgingRMFailoverProxyProvider.java',95,95,'org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider','init(Configuration, RMProxy<T>, Class<T>)',NULL),(11568,'TODO: Commonize URL parsing code. Will be done in YARN-4642.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java',176,176,'org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebAppFilter','ahsRedirectPath(String, RMWebApp)',NULL),(11569,'3. move file into /foo/y','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java',1210,1210,'org.apache.hadoop.hdfs.server.namenode.snapshot.TestSnapshotDeletion','testRenameAndDelete()',NULL),(11570,'5. move /foo/y to /trash','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDeletion.java',1215,1215,'org.apache.hadoop.hdfs.server.namenode.snapshot.TestSnapshotDeletion','testRenameAndDelete()',NULL),(11571,'List reservations, search by very large start time.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestYarnClient.java',1334,1334,'org.apache.hadoop.yarn.client.api.impl.TestYarnClient','testReservationAPIs()',NULL),(11572,'List reservations, search by very small end time.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestYarnClient.java',1380,1380,'org.apache.hadoop.yarn.client.api.impl.TestYarnClient','testReservationAPIs()',NULL),(11573,'List reservations, search by a very large start time.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java',1256,1256,'org.apache.hadoop.yarn.server.resourcemanager.TestClientRMService','testReservationAPIs()',NULL),(11574,'List reservations, search by a very small end time.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java',1306,1306,'org.apache.hadoop.yarn.server.resourcemanager.TestClientRMService','testReservationAPIs()',NULL),(11575,'We assume that a block can be on only one storage in a DataNode.\nThat\'s why we pass in the DatanodeDescriptor rather than the\nDatanodeStorageInfo.\nTODO: remove this assumption in case we want to put a block on\nmore than one storage on a datanode (and because it\'s a difficult\nassumption to really enforce)','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',2146,2151,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11576,'We assume that a block can be on only one storage in a DataNode.\nThat\'s why we pass in the DatanodeDescriptor rather than the\nDatanodeStorageInfo.\nTODO: remove this assumption in case we want to put a block on\nmore than one storage on a datanode (and because it\'s a difficult\nassumption to really enforce)\nDatanodeStorageInfo must be removed using the iterator to avoid\nConcurrentModificationException in the underlying storage','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',2185,2192,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11577,'move block to the head of the list','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',2430,2430,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11578,'the block is only in one of the to-do lists\nif it is in none then data-node already has it','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',3509,3510,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()','NOT_DESIGN'),(11579,'Entries moved to the left in the array so index must be reset','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/FoldedTreeSet.java',299,299,'org.apache.hadoop.hdfs.util.FoldedTreeSet','remove()',NULL),(11580,'If the block is an out-of-date generation stamp or state,\nbut we\'re the standby, we shouldn\'t treat it as corrupt,\nbut instead just queue it for later processing.\nTODO: Pretty confident this should be s/storedBlock/block below,\nsince we should be postponing the info of the reported block, not\nthe stored block. See HDFS-6289 for more context.','Line','hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java',3582,3587,'org.apache.hadoop.hdfs.server.blockmanagement.BlockManager','getPendingReplicationBlocksCount()',NULL),(11581,'missing 1 block, so 1 task should be scheduled','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestRecoverStripedBlocks.java',206,206,'org.apache.hadoop.hdfs.server.namenode.TestRecoverStripedBlocks','test2RecoveryTasksForSameBlockGroup()',NULL),(11582,'missing 1 block, so 1 task should be scheduled','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestReconstructStripedBlocks.java',207,207,'org.apache.hadoop.hdfs.server.namenode.TestReconstructStripedBlocks','test2RecoveryTasksForSameBlockGroup()',NULL),(11583,'missing another block, but no new task should be scheduled because\nprevious task isn\'t finished.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestRecoverStripedBlocks.java',214,215,'org.apache.hadoop.hdfs.server.namenode.TestRecoverStripedBlocks','test2RecoveryTasksForSameBlockGroup()',NULL),(11584,'missing another block, but no new task should be scheduled because\nprevious task isn\'t finished.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestReconstructStripedBlocks.java',215,216,'org.apache.hadoop.hdfs.server.namenode.TestReconstructStripedBlocks','test2RecoveryTasksForSameBlockGroup()',NULL),(11585,'package scoped -hence the reason why this class must be in the\nhadoop.security package','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/KDiag.java',537,538,'org.apache.hadoop.security.KDiag','close()',NULL),(11586,'Executors.newSingleThreadExecutor has special semantics - for the\nmoment we\'ll delegate to it rather than implement the semantics here.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/concurrent/HadoopExecutors.java',58,59,'org.apache.hadoop.util.concurrent.HadoopExecutors','newSingleThreadExecutor()',NULL),(11587,'Executors.newSingleThreadExecutor has special semantics - for the\nmoment we\'ll delegate to it rather than implement the semantics here.','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/concurrent/HadoopExecutors.java',64,65,'org.apache.hadoop.util.concurrent.HadoopExecutors','newSingleThreadExecutor(ThreadFactory)',NULL),(11588,'Executors.newSingleThreadScheduledExecutor has special semantics - for the\nmoment we\'ll delegate to it rather than implement the semantics here','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/concurrent/HadoopExecutors.java',81,82,'org.apache.hadoop.util.concurrent.HadoopExecutors','newSingleThreadScheduledExecutor()',NULL),(11589,'Executors.newSingleThreadScheduledExecutor has special semantics - for the\nmoment we\'ll delegate to it rather than implement the semantics here','Line','hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/concurrent/HadoopExecutors.java',87,88,'org.apache.hadoop.util.concurrent.HadoopExecutors','newSingleThreadScheduledExecutor(ThreadFactory)',NULL),(11590,'Need to set the client\'s KeyProvider to the NN\'s for JKS,\nelse the updates do not get flushed properly','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNestedEncryptionZones.java',75,76,'org.apache.hadoop.hdfs.server.namenode.TestNestedEncryptionZones','setProvider()',NULL),(11591,'Verify that the nested EZ cannot be moved out of the top EZ.','Line','hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNestedEncryptionZones.java',164,164,'org.apache.hadoop.hdfs.server.namenode.TestNestedEncryptionZones','testNestedEncryptionZones()',NULL),(11592,'internal loop, tries to allocate as many gang as possible starting\nat a given point in time, if it fails we move to the next time\ninterval (with outside loop)','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/reservation/planning/StageAllocatorGreedyRLE.java',120,122,'org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.StageAllocatorGreedyRLE','Resource> computeStageAllocation(Plan, Map<Long, Resource>, RLESparseResourceAllocation, ReservationRequest, long, long, String, ReservationId)',NULL),(11593,'Checks whether a stage allocation is non preemptive or not.\nAssumption: the intervals are non-intersecting (as returned by\ncomputeStageAllocation()).\nFor a non-preemptive allocation, only two end points appear exactly once','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/reservation/planning/IterativePlanner.java',292,295,'org.apache.hadoop.yarn.server.resourcemanager.reservation.planning.IterativePlanner','computeJobAllocation(Plan, ReservationId, ReservationDefinition, String)',NULL),(11594,'When the container expired, and it has a pending increased request, we\nwill kill the container.\nTODO, we can do better for this: roll back container resource to the\nresource before increase, and notify scheduler about this decrease as\nwell. Will do that in a separated JIRA.','Line','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmcontainer/RMContainerImpl.java',566,570,'org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl','transition(RMContainerImpl, RMContainerEvent)','DESIGN'),(11595,'None','None','hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmcontainer/RMContainerImpl.java',-1,-1,'None','None',NULL),(11596,'if(c instanceof  ProvisionNode)','Line','src/java/org/apache/log4j/StressCategory.java',176,176,'org.log4j.StressCategory','main(String[])',NULL),(11597,'half of the way, create new childres','Line','src/java/org/apache/log4j/test/StressAsyncAppender.java',93,93,'org.log4j.test.StressAsyncAppender','run()',NULL),(11598,'Yes, it\'s ugly.  But all of these exceptions point to the same\nproblem: we can\'t create an Appender','Block','src/java/org/apache/log4j/xml/DOMConfigurator.java',180,181,'org.log4j.xml.DOMConfigurator','parseAppender(Element)',NULL),(11599,'Print Stacktrace\nQuick Hack maybe there is a better/faster way?','Line','src/java/org/apache/log4j/gui/TextPaneAppender.java',146,147,'org.log4j.gui.TextPaneAppender','append(LoggingEvent)',NULL),(11600,'Print Stacktrace\nQuick Hack maybe there is a better/faster way?','Line','contribs/SvenReimers/gui/TextPaneAppender.java',146,147,'org.log4j.gui.TextPaneAppender','append(LoggingEvent)',NULL),(11601,'move pointer','Line','src/java/org/apache/log4j/helpers/PatternParser.java',142,142,'org.log4j.helpers.PatternParser','addToList(PatternConverter)',NULL),(11602,'The information contained within the request is another source of\ndistinctive information. It might reveal the users name, date of request,\nrequest ID etc. In servlet type environments, much information is\ncontained in cookies.','Line','examples/NumberCruncherServer.java',70,73,'org.log4j.examples.NumberCruncherServer','factor(int)',NULL),(11603,'Endre\'s hack:','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',112,112,'org.apache.log4j.xml.DOMConfigurator','findAppenderByReference(Element)',NULL),(11604,'Hack finished.','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',124,124,'org.apache.log4j.xml.DOMConfigurator','findAppenderByReference(Element)',NULL),(11605,'writing the Class would be nicer, except that serialized\nclassed can not be read back by JDK 1.1.x. We have to resort\nto this hack instead.','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',195,197,'org.apache.log4j.spi.LoggingEvent','writePriority(ObjectOutputStream)',NULL),(11606,'writing directly the Class object would be nicer, except that\nserialized a Class object can not be read back by JDK\n1.1.x. We have to resort to this hack instead.','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',240,242,'org.apache.log4j.spi.LoggingEvent','writePriority(ObjectOutputStream)',NULL),(11607,'convert to specified encoding - which may be sequence of\n8-bit chars, or multi-byte encodings like UTF-8 or UTF-16.\nThe receiving end had better be expecting whatever encoding\nis used here on the sending end!','Line','contribs/KitchingSimon/DatagramStringWriter.java',117,120,'org.apache.log4j.net.DatagramStringWriter','write(String)',NULL),(11608,'Print Stacktrace\nQuick Hack maybe there is a better/faster way?','Line','contribs/JamesHouse/TextPanelAppender.java',67,68,'org.apache.log4j.gui.TextPanelAppender','close()',NULL),(11609,'2. Use the better way of coding with method setLogType(String columnname, int LogType.xxx, Object xxx)','Line','contribs/ThomasFenner/code_example2.java',45,45,'Log4JTest','main(String[])',NULL),(11610,'Try to cast directly Object to JDBCIDHandler','Line','contribs/ThomasFenner/JDBCLogger.java',237,237,'com.klopotek.utils.log.JDBCLogger','setLogType(String, int, Object)',NULL),(11611,'FIXME (remove qwIsOurs)','Line','src/java/org/apache/log4j/FileAppender.java',171,171,'org.apache.log4j.FileAppender','closeFile()',NULL),(11612,'XXX: Properties encode value.toString()','Line','src/java/org/apache/log4j/config/PropertyPrinter.java',118,118,'org.apache.log4j.config.PropertyPrinter','foundProperty(Object, String, String, Object)',NULL),(11613,'Print Stacktrace\nQuick Hack maybe there is a better/faster way?','Line','src/java/org/apache/log4j/gui/TextPaneAppender.java',149,150,'org.apache.log4j.gui.TextPaneAppender','append(LoggingEvent)',NULL),(11614,'Use a StringBuffer in lieu of String concatenation -- it is\nmuch more efficient this way.','Line','src/java/org/apache/log4j/HTMLLayout.java',305,306,'org.apache.log4j.HTMLLayout','escapeHTMLTags(String)',NULL),(11615,'If the helper is null, we\'ll inspect the System property \\\"java.version\\\" and\nfigure out which version of the VM we\'re running on.\nVersion strings are: [major version].[minor version].[bug fix revision]\nSo JDK 1.2: 1.2.0\nJDK 1.1: 1.1.0','Block','src/java/org/apache/log4j/helpers/VersionHelper.java',47,52,'org.apache.log4j.helpers.VersionHelper','getInstance()',NULL),(11616,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that match MyCategory such as\nMyCategoryTest.','Line','examples/MyCategory.java',28,31,'org.apache.log4j.examples.MyCategory','None','DESIGN'),(11617,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have the almostthe same fully\nqualified class name as MyCategory, e.g. MyCategoryTest.','Line','examples/MyCategory.java',28,31,'org.apache.log4j.examples.MyCategory','None',NULL),(11618,'It\'s enough to instantiate a factory once and for all.','Line','examples/MyCategory.java',34,34,'org.apache.log4j.examples.MyCategory','None',NULL),(11619,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as MyCategory, e.g. MyCategoryTest.','Line','examples/MyCategory.java',28,31,'org.apache.log4j.examples.MyCategory','None',NULL),(11620,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as XCategory.','Line','src/java/org/apache/log4j/xml/examples/XCategory.java',37,40,'org.apache.log4j.xml.examples.XCategory','None','DESIGN'),(11621,'If the helper is null, we\'ll inspect the System property \\\"java.version\\\" and\nfigure out which version of the VM we\'re running on.\nVersion strings are: [major version].[minor version].[bug fix revision]\nSo JDK 1.2: 1.2.0\nJDK 1.1: 1.1.0','Block','src/java/org/apache/log4j/helpers/VersionHelper.java',54,59,'org.apache.log4j.helpers.VersionHelper','getInstance()','DESIGN'),(11622,'Inspect the System property \\\"java.version\\\" and figure out which\nversion of the VM we\'re running on.  Version strings are: [major\nversion].[minor version].[bug fix revision] So JDK 1.2: 1.2.0 JDK\n1.1: 1.1.0','Block','src/java/org/apache/log4j/helpers/VersionHelper.java',53,56,'org.apache.log4j.helpers.VersionHelper','getInstance()',NULL),(11623,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as XCategory, such as XCategoryTest.','Line','src/java/org/apache/log4j/xml/examples/XCategory.java',37,40,'org.apache.log4j.xml.examples.XCategory','None',NULL),(11624,'It\'s enough to instantiate a factory once and for all.','Line','src/java/org/apache/log4j/xml/examples/XCategory.java',43,43,'org.apache.log4j.xml.examples.XCategory','None',NULL),(11625,'FIXME (remove qwIsOurs)','Line','src/java/org/apache/log4j/FileAppender.java',220,220,'org.apache.log4j.FileAppender','closeFile()','NOT_DESIGN'),(11626,'None','None','src/java/org/apache/log4j/FileAppender.java',-1,-1,'None','None',NULL),(11627,'writing directly the Class object would be nicer, except that\nserialized a Class object can not be read back by JDK\n1.1.x. We have to resort to this hack instead.','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',331,333,'org.apache.log4j.spi.LoggingEvent','writePriority(ObjectOutputStream)',NULL),(11628,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as XCategory, such as XCategoryTest.','Line','src/java/org/apache/log4j/xml/examples/XCategory.java',38,41,'org.apache.log4j.xml.examples.XCategory','None','DESIGN'),(11629,'None','None','src/java/org/apache/log4j/xml/examples/XLogger.java',-1,-1,'None','None',NULL),(11630,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as XLogger, such as XLogegoryTest.','Line','src/java/org/apache/log4j/xml/examples/XLogger.java',36,39,'org.apache.log4j.xml.examples.XLogger','None',NULL),(11631,'Endre\'s hack:','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',122,122,'org.apache.log4j.xml.DOMConfigurator','findAppenderByReference(Element)',NULL),(11632,'Endre\'s hack:','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',119,119,'org.apache.log4j.xml.DOMConfigurator','findAppenderByName(Document, String)',NULL),(11633,'Hack finished.','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',134,134,'org.apache.log4j.xml.DOMConfigurator','findAppenderByReference(Element)',NULL),(11634,'Hack finished.','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',131,131,'org.apache.log4j.xml.DOMConfigurator','findAppenderByName(Document, String)',NULL),(11635,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as MyCategory, e.g. MyCategoryTest.','Line','examples/subclass/MyCategory.java',28,31,'org.apache.log4j.examples.MyCategory','None','DESIGN'),(11636,'None','None','examples/subclass/MyLogger.java',-1,-1,'None','None',NULL),(11637,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as MyLogger, e.g. MyLoggerTest.','Line','examples/subclass/MyLogger.java',28,31,'org.apache.log4j.examples.MyLogger','None',NULL),(11638,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as XLogger, such as XLogegoryTest.','Line','src/java/org/apache/log4j/xml/examples/XLogger.java',27,30,'org.apache.log4j.xml.examples.XLogger','None',NULL),(11639,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as XLogger, such as XLogegoryTest.','Line','tests/src/java/org/apache/log4j/customLogger/XLogger.java',27,30,'org.apache.log4j.customLogger.XLogger','None',NULL),(11640,'hack - but only thing I care about','Line','src/java/org/apache/log4j/chainsaw/XMLFileHandler.java',105,105,'org.apache.log4j.chainsaw.XMLFileHandler','endElement(String, String, String)','DESIGN'),(11641,'Failing to reset the object output stream every now and\nthen creates a serious memory leak.\nright now we always reset. TODO - set up frequency counter per oos?','Line','src/java/org/apache/log4j/net/SocketHubAppender.java',198,200,'org.apache.log4j.net.SocketHubAppender','activateOptions()',NULL),(11642,'REMOVE This code branching for Alexander Cerna\'s request','Line','contribs/KevinSteppe/CompositeRollingAppender.java',666,666,'org.apache.log4j.CompositeRollingAppender','rollOverSize()',NULL),(11643,'if(c instanceof  ProvisionNode)','Line','tests/src/java/org/apache/log4j/StressCategory.java',177,177,'org.apache.log4j.StressCategory','main(String[])','NOT_DESIGN'),(11644,'Use a StringBuffer in lieu of String concatenation -- it is\nmuch more efficient this way.','Line','src/java/org/apache/log4j/HTMLLayout.java',267,268,'org.apache.log4j.HTMLLayout','escapeHTMLTags(String)','DESIGN'),(11645,'None','None','src/java/org/apache/log4j/HTMLLayout.java',-1,-1,'None','None',NULL),(11646,'Use a StringBuffer in lieu of String concatenation -- it is\nmuch more efficient this way.','Line','src/java/org/apache/log4j/helpers/Transform.java',37,38,'org.apache.log4j.helpers.Transform','escapeTags(String)',NULL),(11647,'TODO: Defineable Views.','Line','src/java/org/apache/log4j/lf5/viewer/LogTable.java',128,128,'org.apache.log4j.lf5.viewer.LogTable','getDateFormatManager()',NULL),(11648,'SWING BUG:','Line','src/java/org/apache/log4j/lf5/viewer/LogTable.java',138,138,'org.apache.log4j.lf5.viewer.LogTable','getDateFormatManager()',NULL),(11649,'We don\'t want the amount of rows to grow without bound,\nleading to a out-of-memory-exception.  Especially not good\nin a production environment :)','Line','src/java/org/apache/log4j/lf5/viewer/FilteredLogTableModel.java',211,213,'org.apache.log4j.lf5.viewer.FilteredLogTableModel','trimRecords()',NULL),(11650,'None','None','src/java/org/apache/log4j/chainsaw/XMLFileHandler.java',-1,-1,'None','None',NULL),(11651,'first let us use the addXXX method','Line','src/java/org/apache/log4j/config/PropertySetter.java',236,236,'org.apache.log4j.config.PropertySetter','addComponent(String, Object)',NULL),(11652,'when deprecated fireAddAppenderEvent(Category,Appender) is removed,\nso should this block','Line','src/java/org/apache/log4j/Hierarchy.java',255,256,'org.apache.log4j.Hierarchy','fireAddAppenderEvent(Logger, Appender)','DESIGN'),(11653,'None','None','src/java/org/apache/log4j/Hierarchy.java',-1,-1,'None','None',NULL),(11654,'FIX ME\nFIX ME','Line','src/java/org/apache/log4j/jmx/HierarchyDynamicMBean.java',245,246,'org.apache.log4j.jmx.HierarchyDynamicMBean','levelChangedEvent(Logger)',NULL),(11655,'This should only ever be called once in this class\' entire existence.\nThe only way to override it is to pass in the exact same guard object\nthat we set here...which is next to impossible unless we store a\nreference to it.  We will not do that unless it becomes a requirement\nin the future.','Line','src/java/org/apache/log4j/selectors/ContextClassLoaderSelector.java',78,82,'org.apache.log4j.selectors.ContextClassLoaderSelector','getHierarchy(ClassLoader)','DESIGN'),(11656,'None','None','src/java/org/apache/log4j/selectors/ContextClassLoaderSelector.java',-1,-1,'None','None',NULL),(11657,'either ignore the exception or log the fact that the setting of this\ncustom repository selector failed because another had been set previously\nand maybe we should set \\\"initialized\\\" to \\\"true\\\" in here so this exception doesn\'t\noccur again in this class','Line','src/java/org/apache/log4j/selectors/ContextClassLoaderSelector.java',57,60,'org.apache.log4j.selectors.ContextClassLoaderSelector','doIdempotentInitialization()',NULL),(11658,'if(c instanceof  ProvisionNode)','Line','log4jMini/src/java/org/apache/log4j/StressCategory.java',176,176,'org.apache.log4j.StressCategory','main(String[])',NULL),(11659,'move pointer','Line','log4jMini/src/java/org/apache/log4j/helpers/PatternParser.java',122,122,'org.apache.log4j.helpers.PatternParser','addToList(PatternConverter)',NULL),(11660,'TODO: perhaps it should clear the internal TableModel','Line','src/java/org/apache/log4j/chainsaw/ChainsawAppender.java',150,150,'org.apache.log4j.chainsaw.ChainsawAppender','close()',NULL),(11661,'TODO: add any more stategies','Line','src/java/org/apache/log4j/chainsaw/Start.java',90,90,'org.apache.log4j.chainsaw.Start','main(String[])',NULL),(11662,'TODO: perhaps it should clear the internal TableModel','Line','src/java/org/apache/log4j/chainsaw/ChainsawAppender.java',144,144,'org.apache.log4j.chainsaw.ChainsawAppender','close()','NOT_DESIGN'),(11663,'None','None','src/java/org/apache/log4j/chainsaw/ChainsawAppender.java',-1,-1,'None','None',NULL),(11664,'move active file name to min\nTODO: compress the currently active file into minIndex','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',98,99,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','rollover(File)',NULL),(11665,'TODO: compress the currently active file (minIndex) into minIndex+1','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',102,102,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','rollover(File)',NULL),(11666,'TODO: compress the currently active file (minIndex) into minIndex+1\nUtil.rename(\nfileNamePattern.convert(minIndex),','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',103,105,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','rollover()','DESIGN'),(11667,'move active file name to min\nTODO: compress the currently active file into minIndex','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',99,100,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','rollover()','DESIGN'),(11668,'move active file name to min','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',102,102,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','rollover()',NULL),(11669,'Use a StringBuffer in lieu of String concatenation -- it is\nmuch more efficient this way.','Line','src/java/org/apache/log4j/helpers/Transform.java',41,42,'org.apache.log4j.helpers.Transform','escapeTags(String)','DESIGN'),(11670,'None','None','src/java/org/apache/log4j/helpers/Transform.java',-1,-1,'None','None',NULL),(11671,'move pointer','Line','src/java/org/apache/log4j/helpers/PatternParser.java',143,143,'org.apache.log4j.helpers.PatternParser','addToList(PatternConverter)',NULL),(11672,'move pointer','Line','src/java/org/apache/log4j/pattern/PatternParser.java',194,194,'org.apache.log4j.pattern.PatternParser','parse()',NULL),(11673,'TODO handle active/inactive','Line','src/java/org/apache/log4j/net/MulticastAppender.java',364,364,'org.apache.log4j.net.MulticastAppender','isActive()',NULL),(11674,'TODO handle active/inactive','Line','src/java/org/apache/log4j/net/UDPAppender.java',416,416,'org.apache.log4j.net.UDPAppender','isActive()',NULL),(11675,'TODO handle active/inactive','Line','src/java/org/apache/log4j/net/SocketAppender.java',515,515,'org.apache.log4j.net.SocketAppender','isActive()','NOT_DESIGN'),(11676,'TODO: add any more stategies','Line','src/java/org/apache/log4j/chainsaw/Start.java',108,108,'org.apache.log4j.chainsaw.Start','main(String[])',NULL),(11677,'TODO give appropriate Credit, http://members.aol.com/gx0vzs/radiotower.html','Line','src/java/org/apache/log4j/chainsaw/icons/ChainsawIcons.java',125,125,'org.apache.log4j.chainsaw.icons.ChainsawIcons','None',NULL),(11678,'TODO and maybe play a sound?','Line','src/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java',261,261,'org.apache.log4j.chainsaw.ChainsawStatusBar','remoteConnectionReceived(String)',NULL),(11679,'TODO think of good mnemonics and HotKey for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',784,784,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createShowPreferencesAction()',NULL),(11680,'TODO think of some mnemonics and HotKeys for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',970,970,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createUndockAction()',NULL),(11681,'TODO insert the appropriate text','Line','src/java/org/apache/log4j/chainsaw/ChainsawAbout.java',98,98,'org.apache.log4j.chainsaw.ChainsawAbout','actionPerformed(ActionEvent)',NULL),(11682,'TODO: Replace the array list creating with the standard way of retreiving the Level set. (TBD)','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',389,389,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11683,'TODO should also tidy up any other references to things... Might need to be able to recover this pane again...','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',496,496,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11684,'TODO Ask the user if they want to save the settings via a dialog.','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',555,555,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11685,'HACK - fix the way columns are sized..should be saved off and loaded later','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1285,1285,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11686,'TODO Rest of the load settings','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2041,2041,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11687,'TODO refactor to use a single getEvent(row) call, and use a Formatter interface for pluggable formatting','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2200,2200,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11688,'TODO Handle the error with a nice msg','Line','src/java/org/apache/log4j/chainsaw/FileLoadAction.java',162,162,'org.apache.log4j.chainsaw.FileLoadAction','actionPerformed(ActionEvent)',NULL),(11689,'TODO put the text about Socket Receiver in a Resource Bundle','Line','src/java/org/apache/log4j/chainsaw/ReceiversPanel.java',766,766,'org.apache.log4j.chainsaw.ReceiversPanel','actionPerformed(ActionEvent)','NOT_DESIGN'),(11690,'None','None','src/java/org/apache/log4j/net/SocketAppender.java',-1,-1,'None','None',NULL),(11691,'None','None','src/java/org/apache/log4j/chainsaw/ReceiversPanel.java',-1,-1,'None','None',NULL),(11692,'TODO ensure the Welcome Panel is the selected tab','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2349,2349,'org.apache.log4j.chainsaw.LogUI','showHelp(URL)','NOT_DESIGN'),(11693,'None','None','src/java/org/apache/log4j/chainsaw/LogUI.java',-1,-1,'None','None',NULL),(11694,'TODO ensure the Welcome Panel is the selected tab','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1182,1182,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11695,'TODO This could be done and look better in a custom Dialog','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',567,567,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11696,'TODO search for Log4j config','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',583,583,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11697,'TODO handle if they don\'t choose a file','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',623,623,'org.apache.log4j.chainsaw.LogUI','showSplash()',NULL),(11698,'TODO should also tidy up any other references to things... Might need to be able to recover this pane again...','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',527,527,'org.apache.log4j.chainsaw.LogUI','showSplash()','DESIGN'),(11699,'TODO close this dialog(?) and use the file open action','Line','src/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java',168,168,'org.apache.log4j.chainsaw.NoReceiversWarningPanel','initComponents()','DESIGN'),(11700,'None','None','src/java/org/apache/log4j/chainsaw/NoReceiversWarningPanel.java',-1,-1,'None','None',NULL),(11701,'TODO This could be done and look better in a custom Dialog','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',605,605,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)','DESIGN'),(11702,'TODO search for Log4j config','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',621,621,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)','NOT_DESIGN'),(11703,'TODO handle if they don\'t choose a file','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',661,661,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)','NOT_DESIGN'),(11704,'============================================\nTODO remove this WIP node once we\'re statisfied','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTree.java',74,75,'org.apache.log4j.chainsaw.LoggerNameTree','treeNodesChanged(TreeModelEvent)',NULL),(11705,'TODO output the Level filter details','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',128,128,'org.apache.log4j.chainsaw.LoggerNameTreePanel','getToolTipText(MouseEvent)',NULL),(11706,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',138,138,'org.apache.log4j.chainsaw.LoggerNameTreePanel','setupListeners()',NULL),(11707,'TODO find an icon','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',249,249,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createToggleLogTreeAction()',NULL),(11708,'TODO add accelerator to this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',1020,1020,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createToolbar()','DESIGN'),(11709,'None','None','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',-1,-1,'None','None',NULL),(11710,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',290,290,'org.apache.log4j.chainsaw.LoggerNameTreePanel','getToolTipText(MouseEvent)',NULL),(11711,'TODO DO we need this method, I can find no references anywhere, but\nleft as is since it\'s such a large method....','Line','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',279,280,'org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel','removeLoggerNameListener(LoggerNameListener)',NULL),(11712,'TODO hook up the new display filter stuff once converted','Line','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',510,510,'org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel','removeLoggerNameListener(LoggerNameListener)',NULL),(11713,'TODO change when filtering refactor done.','Line','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',616,616,'org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel','run()',NULL),(11714,'TODO this is broken while the change from Vectors -> LoggingEvents occurs','Line','src/java/org/apache/log4j/chainsaw/ColorFilter.java',156,156,'org.apache.log4j.chainsaw.ColorFilter','addFilterChangedListener(FilterChangedListener)',NULL),(11715,'TODO refactor to use a single getEvent(row) call, and use a Formatter interface for pluggable formatting','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2412,2412,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)','DESIGN'),(11716,'TODO remove this when ready','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',316,316,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11717,'TODO fix up this Set Cast-O-Rama\nalso add it to the unique values list','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2360,2361,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11718,'TODO MDC event stuff is not being output correctly','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2376,2376,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11719,'TODO output the Level filter details','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',145,145,'org.apache.log4j.chainsaw.LoggerNameTreePanel','None','NOT_DESIGN'),(11720,'None','None','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',-1,-1,'None','None',NULL),(11721,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',425,425,'org.apache.log4j.chainsaw.LoggerNameTreePanel','getToolTipText(MouseEvent)',NULL),(11722,'TODO not everything catered for here yet...','Line','src/java/org/apache/log4j/chainsaw/ColumnComparator.java',77,77,'org.apache.log4j.chainsaw.ColumnComparator','compare(Object, Object)',NULL),(11723,'TODO DO we need this method, I can find no references anywhere, but\nleft as is since it\'s such a large method....','Line','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',290,291,'org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel','removeLoggerNameListener(LoggerNameListener)','DESIGN'),(11724,'None','None','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',-1,-1,'None','None',NULL),(11725,'TODO hook up the new display filter stuff once converted','Line','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',525,525,'org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel','removeLoggerNameListener(LoggerNameListener)','NOT_DESIGN'),(11726,'TODO change when filtering refactor done.','Line','src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java',676,676,'org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel','run()','NOT_DESIGN'),(11727,'TODO reload new Display rule for this panel','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1326,1326,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11728,'TODO refactor so that LogPanel itself knows if Tooltips are enabled','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1440,1440,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11729,'TODO Display rule stuff','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1506,1506,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11730,'TODO more Rule implementation here.\ndisplayFilter.setCustomFilter(\nnew DisplayFilterEntry(\n(String) customFilterList.getSelectedItem(),','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1534,1537,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11731,'TODO save display rule settings','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2234,2234,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11732,'TODO reload new Display rule for this panel','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',246,246,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11733,'TODO refactor so that LogPanel itself knows if Tooltips are enabled','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',360,360,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)','DESIGN'),(11734,'HACK - fix the way columns are sized..should be saved off and loaded later','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1465,1465,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11735,'HACK - fix the way columns are sized..should be saved off and loaded later','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',385,385,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11736,'TODO Display rule stuff','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',426,426,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11737,'TODO more Rule implementation here.\ndisplayFilter.setCustomFilter(\nnew DisplayFilterEntry(\n(String) customFilterList.getSelectedItem(),','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',454,457,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11738,'TODO save display rule settings','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',1154,1154,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11739,'TODO Rest of the load settings','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2338,2338,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11740,'TODO Rest of the load settings','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',1258,1258,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11741,'TODO fix up this Set Cast-O-Rama\nalso add it to the unique values list','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2513,2514,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11742,'TODO fix up this Set Cast-O-Rama\nalso add it to the unique values list','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',1433,1434,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)','NOT_DESIGN'),(11743,'TODO MDC event stuff is not being output correctly','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',2529,2529,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11744,'TODO MDC event stuff is not being output correctly','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',1449,1449,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)','NOT_DESIGN'),(11745,'None','None','src/java/org/apache/log4j/chainsaw/LogPanel.java',-1,-1,'None','None',NULL),(11746,'TODO fix this menu so that columns can be hidden/displayed','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',318,318,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)',NULL),(11747,'TODO undocked toolbar is broken\nf.getContentPane().add(','Line','src/java/org/apache/log4j/chainsaw/LogPanel.java',764,765,'org.apache.log4j.chainsaw.LogPanel','newKeyAdded(NewKeyEvent)','NOT_DESIGN'),(11748,'move pointer','Line','src/java/org/apache/log4j/pattern/PatternParser.java',229,229,'org.apache.log4j.pattern.PatternParser','parse()','NOT_DESIGN'),(11749,'None','None','src/java/org/apache/log4j/pattern/PatternParser.java',-1,-1,'None','None',NULL),(11750,'The information contained within the request is another source of\ndistinctive information. It might reveal the users name, date of request,\nrequest ID etc. In servlet type environments, much information is\ncontained in cookies.','Line','examples/NumberCruncherServer.java',76,79,'examples.NumberCruncherServer','factor(int)',NULL),(11751,'The information contained within the request is another source of\ndistinctive information. It might reveal the users name, date of request,\nrequest ID etc. In servlet type environments, much information is\ncontained in cookies.','Line','examples/factor/NumberCruncherServer.java',76,79,'factor.NumberCruncherServer','factor(int)',NULL),(11752,'TODO give appropriate Credit, http://members.aol.com/gx0vzs/radiotower.html','Line','src/java/org/apache/log4j/chainsaw/icons/ChainsawIcons.java',138,138,'org.apache.log4j.chainsaw.icons.ChainsawIcons','None','NOT_DESIGN'),(11753,'None','None','src/java/org/apache/log4j/chainsaw/icons/ChainsawIcons.java',-1,-1,'None','None',NULL),(11754,'TODO remove this when ready','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',263,263,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)','DESIGN'),(11755,'TODO check the model if this is selected','Line','src/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java',425,425,'org.apache.log4j.chainsaw.LogPanelPreferencePanel','getListCellRendererComponent(JList, Object, int, boolean, boolean)','DESIGN'),(11756,'None','None','src/java/org/apache/log4j/chainsaw/LogPanelPreferencePanel.java',-1,-1,'None','None',NULL),(11757,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',200,200,'org.apache.log4j.chainsaw.LoggerNameTreePanel','getToolTipText(MouseEvent)',NULL),(11758,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',211,211,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11759,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',550,550,'org.apache.log4j.chainsaw.LoggerNameTreePanel','getToolTipText(MouseEvent)',NULL),(11760,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',592,592,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11761,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',593,593,'org.apache.log4j.chainsaw.LoggerNameTreePanel','getToolTipText(MouseEvent)',NULL),(11762,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',635,635,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11763,'TODO think of good mnemonics and HotKey for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',772,772,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createShowColorPanelAction()',NULL),(11764,'TODO: handle exception','Line','src/java/org/apache/log4j/chainsaw/FileLoadAction.java',167,167,'org.apache.log4j.chainsaw.FileLoadAction','actionPerformed(ActionEvent)',NULL),(11765,'TODO: Replace the array list creating with the standard way of retreiving the Level set. (TBD)','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',474,474,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11766,'TODO: Replace the array list creating with the standard way of\nretreiving the Level set. (TBD)','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',613,614,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11767,'TODO this is broken while the change from Vectors -> LoggingEvents occurs','Line','src/java/org/apache/log4j/chainsaw/ColorFilter.java',159,159,'org.apache.log4j.chainsaw.ColorFilter','addFilterChangedListener(FilterChangedListener)',NULL),(11768,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',215,215,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11769,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',240,240,'org.apache.log4j.chainsaw.LoggerNameTreePanel','mouseMoved(MouseEvent)',NULL),(11770,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',647,647,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11771,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',674,674,'org.apache.log4j.chainsaw.LoggerNameTreePanel','mouseMoved(MouseEvent)',NULL),(11772,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',690,690,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11773,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',717,717,'org.apache.log4j.chainsaw.LoggerNameTreePanel','mouseMoved(MouseEvent)',NULL),(11774,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as MyLogger, e.g. MyLoggerTest.','Line','examples/subclass/MyLogger.java',24,27,'subclass.MyLogger','None',NULL),(11775,'It\'s usually a good idea to add a dot suffix to the fully\nqualified class name. This makes caller localization to work\nproperly even from classes that have almost the same fully\nqualified class name as MyLogger, e.g. MyLoggerTest.','Line','examples/src/subclass/MyLogger.java',24,27,'subclass.MyLogger','None',NULL),(11776,'The information contained within the request is another source of\ndistinctive information. It might reveal the users name, date of request,\nrequest ID etc. In servlet type environments, much information is\ncontained in cookies.','Line','examples/factor/NumberCruncherServer.java',75,78,'factor.NumberCruncherServer','factor(int)',NULL),(11777,'The information contained within the request is another source of\ndistinctive information. It might reveal the users name, date of request,\nrequest ID etc. In servlet type environments, much information is\ncontained in cookies.','Line','examples/src/factor/NumberCruncherServer.java',75,78,'factor.NumberCruncherServer','factor(int)',NULL),(11778,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',289,289,'org.apache.log4j.chainsaw.LoggerNameTreePanel','mouseMoved(MouseEvent)',NULL),(11779,'TODO decide if Multi-selection is useful, and how it would work','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',244,244,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11780,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',724,724,'org.apache.log4j.chainsaw.LoggerNameTreePanel','mouseMoved(MouseEvent)','NOT_DESIGN'),(11781,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',891,891,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11782,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',767,767,'org.apache.log4j.chainsaw.LoggerNameTreePanel','mouseMoved(MouseEvent)',NULL),(11783,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',652,652,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11784,'TODO when all the correct CellEditors are in place, remove this line','Line','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',116,116,'org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel','None','DESIGN'),(11785,'TODO handle else condition','Line','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',138,138,'org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel','initComponents()','NOT_DESIGN'),(11786,'TODO: handle exception','Line','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',171,171,'org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel','initComponents()',NULL),(11787,'TODO Determine if the property is one of the ones a User could edit','Line','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',280,280,'org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel','isCellEditable(int, int)',NULL),(11788,'None','None','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',-1,-1,'None','None',NULL),(11789,'TODO This needs to convert the FQN class name into a valid help URL.\nTODO Be also nice to be able to set a BaseHelpURL or something instead of hitting the Apache server.','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',190,191,'org.apache.log4j.chainsaw.help.HelpManager','showHelpForClass(Class)','DESIGN'),(11790,'None','None','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',-1,-1,'None','None',NULL),(11791,'TODO setup all the base URLs in the default.properties and configure in ApplicationPreferenceModel','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',79,79,'org.apache.log4j.chainsaw.help.HelpManager','getHelpURL()',NULL),(11792,'TODO Create a resource not found url','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',197,197,'org.apache.log4j.chainsaw.help.HelpManager','showHelpForClass(Class)',NULL),(11793,'TODO: handle exception','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',88,88,'org.apache.log4j.chainsaw.help.HelpManager','getHelpURL()',NULL),(11794,'TODO Create a resource not found url','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',208,208,'org.apache.log4j.chainsaw.help.HelpManager','showHelpForClass(Class)','NOT_DESIGN'),(11795,'TODO come up with a better page not found url','Line','src/java/org/apache/log4j/chainsaw/ChainsawConstants.java',121,121,'org.apache.log4j.chainsaw.ChainsawConstants','None',NULL),(11796,'TODO remove the plugin from the gui','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',361,361,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11797,'TODO this should all be in a config file','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',365,365,'org.apache.log4j.chainsaw.LogUI','actionPerformed(ActionEvent)',NULL),(11798,'so, resource is not a URL:\nattempt to get the resource from the class loader path\nplease read the javadocs for Loader.getResource for the exact\nalgorithm.','Line','src/java/org/apache/log4j/selector/ContextJNDISelector.java',192,195,'org.apache.log4j.selector.ContextJNDISelector','getLoggerRepository()','DESIGN'),(11799,'None','None','src/java/org/apache/log4j/selector/ContextJNDISelector.java',-1,-1,'None','None',NULL),(11800,'TODO find an icon','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',207,207,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createToggleLogTreeAction()','NOT_DESIGN'),(11801,'TODO Errors should be reported in Error objects instead of just strings.\nTODO Interpreter should set its own ErrorHander for XML parsing errors.','Line','src/java/org/apache/joran/Interpreter.java',33,34,'None','None',NULL),(11802,'TODO think of good mnemonics and HotKey for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',499,499,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createCustomExpressionPanelAction()',NULL),(11803,'TODO Errors should be reported in Error objects instead of just strings.\nTODO Interpreter should set its own ErrorHander for XML parsing errors.','Line','src/java/org/apache/joran/Interpreter.java',37,38,'None','None','DESIGN'),(11804,'None','None','src/java/org/apache/joran/Interpreter.java',-1,-1,'None','None',NULL),(11805,'threadName cannot be null in a properly constructed LoggingEvent','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',286,286,'org.apache.log4j.spi.LoggingEvent','equals(Object)','DESIGN'),(11806,'None','None','src/java/org/apache/log4j/spi/LoggingEvent.java',-1,-1,'None','None',NULL),(11807,'TODO: the rest of the tests could be skipped and we could just return true.','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',301,301,'org.apache.log4j.spi.LoggingEvent','equals(Object)','DESIGN'),(11808,'TODO insert the appropriate text','Line','src/java/org/apache/log4j/chainsaw/ChainsawAbout.java',65,65,'org.apache.log4j.chainsaw.ChainsawAbout','actionPerformed(ActionEvent)','NOT_DESIGN'),(11809,'None','None','src/java/org/apache/log4j/chainsaw/ChainsawAbout.java',-1,-1,'None','None',NULL),(11810,'TODO CG The conversion of levelStr should be more general','Line','src/java/org/apache/log4j/db/DBReceiver.java',135,135,'org.apache.log4j.db.DBReceiver','execute()',NULL),(11811,'TODO CG Remove these commented out lines\n/**\nAlternate constructor to allow a string array to be passed in as the throwable.\n/\npublic LoggingEvent(String fqnOfCategoryClass, Logger logger, long timeStamp, Level level, String threadName,','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',272,276,'org.apache.log4j.spi.LoggingEvent','equals(Object)',NULL),(11812,'TODO This seems really lame to have to do this, but there you go...','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',67,67,'org.apache.log4j.chainsaw.vfs.VFSPlugin','determineSupportedFileSystems()',NULL),(11813,'TODO this should also be fixed up, as VFS bits and pieces might not be built in an Ant build when they don\'t have all the VFS jars local','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',365,365,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11814,'TODO display name, but with Schema too','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSNode.java',28,28,'org.apache.log4j.chainsaw.vfs.VFSNode','toString()',NULL),(11815,'TODO feedback to the user about the error...','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSUtils.java',105,105,'org.apache.log4j.chainsaw.vfs.VFSUtils','lookForChildren(JTree, DefaultMutableTreeNode)','NOT_DESIGN'),(11816,'TODO This seems really lame to have to do this, but there you go...','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',95,95,'org.apache.log4j.chainsaw.vfs.VFSPlugin','determineSupportedFileSystems()','DESIGN'),(11817,'None','None','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',-1,-1,'None','None',NULL),(11818,'TODO format should come from a preference model','Line','src/java/org/apache/log4j/chainsaw/vfs/DirectoryListTableModel.java',102,102,'org.apache.log4j.chainsaw.vfs.DirectoryListTableModel','formatFileSize(double)',NULL),(11819,'None','None','src/java/org/apache/log4j/chainsaw/vfs/VFSUtils.java',-1,-1,'None','None',NULL),(11820,'TODO replace this with an explicit call to pre-select the firs node in the tree, which\nwould then trigger the look for children','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',103,104,'org.apache.log4j.chainsaw.vfs.VFSPlugin','shutdown()','DESIGN'),(11821,'Add the authors of the java.io.File class to the list of people to \\\"have a word\\\" with... This is ridiculous...','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',110,110,'org.apache.log4j.chainsaw.vfs.VFSPlugin','shutdown()',NULL),(11822,'TODO load the pref model from preference storage','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',81,81,'org.apache.log4j.chainsaw.vfs.VFSPlugin','shutdown()',NULL),(11823,'// TODO format should come from a preference model','Line','src/java/org/apache/log4j/chainsaw/vfs/DirectoryListTableModel.java',111,111,'org.apache.log4j.chainsaw.vfs.DirectoryListTableModel','formatFileSize(double)',NULL),(11824,'TODO should all columns be sorted?  I think so...','Line','src/java/org/apache/log4j/chainsaw/vfs/DirectoryListTableModel.java',214,214,'org.apache.log4j.chainsaw.vfs.DirectoryListTableModel','isSortable(int)',NULL),(11825,'TODO CG The conversion of levelStr should be more general','Line','src/java/org/apache/log4j/db/DBReceiver.java',175,175,'org.apache.log4j.db.DBReceiver','execute()',NULL),(11826,'TODO CG The conversion of levelStr should be more general','Line','src/java/org/apache/log4j/db/DBReceiverJob.java',96,96,'org.apache.log4j.db.DBReceiverJob','execute()',NULL),(11827,'TODO other ideas for preview preferences : \\\"Auto Preview\\\" and \\\"No Auto Preview if size > X\\\"\nSome of these preferences might need to be VFS Repository specific','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPluginPreferenceModel.java',9,10,'org.apache.log4j.chainsaw.vfs.VFSPluginPreferenceModel','None',NULL),(11828,'TODO Work out WTF is going on with this PopupListener not being\npicked up....\nTODO Work out WTF is going on with the split pane and the setVisible\nlike it used to do in LogPanel','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',221,224,'org.apache.log4j.chainsaw.vfs.VFSPlugin','shutdown()',NULL),(11829,'TODO CG better errorHandling code here\nno point in continuing','Line','src/java/org/apache/log4j/db/DBAppender2.java',218,219,'org.apache.log4j.db.DBAppender2','fillEventIDArray(Connection, Statement)',NULL),(11830,'half of the way, create new childres','Line','src/java/org/apache/log4j/test/StressAsyncAppender.java',88,88,'org.apache.log4j.test.StressAsyncAppender','run()',NULL),(11831,'TODO UDPAppender throws NullPointerException if the layout is not set','Line','src/java/org/apache/log4j/net/UDPAppender.java',207,207,'org.apache.log4j.net.UDPAppender','activateOptions()',NULL),(11832,'TODO handle active/inactive','Line','src/java/org/apache/log4j/net/UDPAppender.java',401,401,'org.apache.log4j.net.UDPAppender','isActive()','NOT_DESIGN'),(11833,'None','None','src/java/org/apache/log4j/net/UDPAppender.java',-1,-1,'None','None',NULL),(11834,'TODO UDPAppender throws NullPointerException if the layout is not set','Line','src/java/org/apache/log4j/net/UDPAppender.java',201,201,'org.apache.log4j.net.UDPAppender','append(LoggingEvent)',NULL),(11835,'None','None','tests/src/java/org/apache/log4j/StressCategory.java',-1,-1,'None','None',NULL),(11836,'TODO Handle the error with a nice msg','Line','src/java/org/apache/log4j/chainsaw/FileLoadAction.java',148,148,'org.apache.log4j.chainsaw.FileLoadAction','actionPerformed(ActionEvent)',NULL),(11837,'TODO Handle the error with a nice msg','Line','src/java/org/apache/log4j/chainsaw/FileLoadAction.java',157,157,'org.apache.log4j.chainsaw.FileLoadAction','importURL(ChainsawAppenderHandler, Decoder, String, URL)',NULL),(11838,'TODO work out a better way of decorating a component','Line','src/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java',83,83,'org.apache.log4j.chainsaw.dnd.FileDnDTarget','decorateComponent()',NULL),(11839,'this should work, shouldn\'t it?','Line','src/java/org/apache/log4j/spi/location/StackTraceElementExtractor.java',96,96,'org.apache.log4j.spi.location.StackTraceElementExtractor','setClassName(LocationInfo, Object)','NOT_DESIGN'),(11840,'io exception - probably shut down','Line','src/java/org/apache/log4j/varia/LogFilePatternReceiver.java',726,726,'org.apache.log4j.varia.LogFilePatternReceiver','activateOptions()',NULL),(11841,'TODO we need a test that tests when the MDC value is null/not found','Line','tests/src/java/org/apache/log4j/multiplex/MultiplexAppenderTest.java',93,93,'org.apache.log4j.multiplex.MultiplexAppenderTest','testcreateMDCAndDailyRollingAppenderFactory()',NULL),(11842,'TODO ?','Line','src/java/org/apache/log4j/multiplex/MDCKeySelector.java',51,51,'org.apache.log4j.multiplex.MDCKeySelector','activateOptions()',NULL),(11843,'TODO work out how the Selector has it\'s AppenderFactory configured by Joran','Line','src/java/org/apache/log4j/multiplex/MultiplexAppender.java',33,33,'org.apache.log4j.multiplex.MultiplexAppender','activateOptions()',NULL),(11844,'TODO check this is correct','Line','src/java/org/apache/log4j/multiplex/MultiplexAppender.java',61,61,'org.apache.log4j.multiplex.MultiplexAppender','requiresLayout()',NULL),(11845,'TODO probable should log that we\'re closing each appender','Line','src/java/org/apache/log4j/multiplex/MultiplexSelectorSkeleton.java',23,23,'org.apache.log4j.multiplex.MultiplexSelectorSkeleton','close()',NULL),(11846,'FIXME: What happens if the users wanted to set the additivity flag\nto false in the config file? We are now potentially overriding her\nwishes but I don\'t see any other way.','Line','src/java/org/apache/log4j/joran/JoranConfigurator.java',256,258,'org.apache.log4j.joran.JoranConfigurator','detachListAppender(LoggerRepository)',NULL),(11847,'FIXME: What happens if the users wanted to set the additivity flag\nfor \\\"org.apahce.log4j\\\" to false in the config file? We are now\npotentially overriding her wishes but I don\'t see any other way.','Line','src/java/org/apache/log4j/joran/JoranConfigurator.java',252,254,'org.apache.log4j.joran.JoranConfigurator','detachListAppender(LoggerRepository)',NULL),(11848,'FIXME: What happens if the users wanted to set the additivity flag\nfor \\\"org.apahce.log4j\\\" to false in the config file? We are now\npotentially overriding her wishes but I don\'t see any other way.','Line','src/java/org/apache/log4j/config/ConfiguratorBase.java',76,78,'org.apache.log4j.config.ConfiguratorBase','detachListAppender(LoggerRepository)',NULL),(11849,'TODO CG Remove these commented out lines\n/**\nAlternate constructor to allow a string array to be passed in as the throwable.\n/\npublic LoggingEvent(String fqnOfCategoryClass, Logger logger, long timeStamp, Level level, String threadName,','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',283,287,'org.apache.log4j.spi.LoggingEvent','equals(Object)','DESIGN'),(11850,'None','None','src/java/org/apache/log4j/spi/location/StackTraceElementExtractor.java',-1,-1,'None','None',NULL),(11851,'TODO This is clearly bogus.','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',115,115,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','getActiveFileName()',NULL),(11852,'TODO: Replace the array list creating with the standard way of\nretreiving the Level set. (TBD)','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',611,612,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)','DESIGN'),(11853,'POSSIBLE TO-DO: add support for properties\npassed to the initial context, e.g. a factory,\nto enable things like a remote context.','Line','src/java/org/apache/log4j/joran/action/JndiSubstitutionPropertyAction.java',77,79,'org.apache.log4j.joran.action.JndiSubstitutionPropertyAction','findNamingContext()',NULL),(11854,'TODO This is clearly bogus.','Line','src/java/org/apache/log4j/rolling/SlidingWindowRollingPolicy.java',110,110,'org.apache.log4j.rolling.SlidingWindowRollingPolicy','getActiveFileName()',NULL),(11855,'TODO This is clearly bogus.','Line','src/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java',153,153,'org.apache.log4j.rolling.FixedWindowRollingPolicy','getActiveFileName()',NULL),(11856,'If the systemId is not for us to handle, we delegate to our super\nclass, at leasts that\'s the basic idea. However, the code below\nneeds to be more complicated.','Line','src/java/org/apache/log4j/joran/util/JoranDocument.java',127,129,'org.apache.log4j.joran.util.JoranDocument','error(SAXParseException)','DESIGN'),(11857,'In bug #30425, Michael Price asserts that org.mortbay.jetty.Server is\nsufficient. We\'ll play dumb for the moment.','Line','tests/src/java/org/apache/log4j/selector/PassByJNDI.java',14,15,'None','None',NULL),(11858,'HACK: Category is the last of the internal layers - pass this in as the class name\nin order for parsing to work correctly','Line','src/java/org/apache/log4j/varia/LocationInfoFilter.java',42,43,'org.apache.log4j.varia.LocationInfoFilter','None',NULL),(11859,'\nif it didn\'t belong at the end, then move it','Line','src/java/org/apache/log4j/helpers/CachedDateFormat.java',127,128,'org.apache.log4j.helpers.CachedDateFormat','format(Date, StringBuffer, FieldPosition)',NULL),(11860,'\ncalling ourself should be safe and faster\nbut why risk it','Line','src/java/org/apache/log4j/helpers/CachedDateFormat.java',150,152,'org.apache.log4j.helpers.CachedDateFormat','format(Date, StringBuffer, FieldPosition)',NULL),(11861,'\nif it didn\'t belong at the end, then move it','Line','src/java/org/apache/log4j/pattern/CachedDateFormat.java',124,125,'org.apache.log4j.pattern.CachedDateFormat','format(Date, StringBuffer, FieldPosition)',NULL),(11862,'\ncalling ourself should be safe and faster\nbut why risk it','Line','src/java/org/apache/log4j/pattern/CachedDateFormat.java',147,149,'org.apache.log4j.pattern.CachedDateFormat','format(Date, StringBuffer, FieldPosition)',NULL),(11863,'\nif it didn\'t belong at the end, then move it','Line','src/java/org/apache/log4j/pattern/CachedDateFormat.java',120,121,'org.apache.log4j.pattern.CachedDateFormat','format(Date, StringBuffer, FieldPosition)','NOT_DESIGN'),(11864,'None','None','src/java/org/apache/log4j/pattern/CachedDateFormat.java',-1,-1,'None','None',NULL),(11865,'\ncalling ourself should be safe and faster\nbut why risk it','Line','src/java/org/apache/log4j/pattern/CachedDateFormat.java',168,170,'org.apache.log4j.pattern.CachedDateFormat','format(Date, StringBuffer, FieldPosition)','DESIGN'),(11866,'if we can cache, so much the better','Line','src/java/org/apache/log4j/pattern/DatePatternConverter.java',109,109,'org.apache.log4j.pattern.DatePatternConverter','setOptions(List)','NOT_DESIGN'),(11867,'None','None','src/java/org/apache/log4j/pattern/DatePatternConverter.java',-1,-1,'None','None',NULL),(11868,'\nTODO: why is this returning ,120 ... , 120\n','Line','tests/src/java/org/apache/log4j/pattern/CachedDateFormatTest.java',378,380,'org.apache.log4j.pattern.CachedDateFormatTest','test17()',NULL),(11869,'NOTE: tab addition is a very fragile process - if you modify this code,\nverify the frames in the individual log panels initialize to their\ncorrect sizes','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1781,1783,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11870,'at this point, the probability of the two events being equal is\nextremely high. The next few test is optimized to take advantage of\nthis knowlege. (We only compare string lengths instead of invoking\nstring.equals which is much slower when the two string are equal.','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',307,310,'org.apache.log4j.spi.LoggingEvent','equals(Object)',NULL),(11871,'TODO consider falling back on something more meaningful','Line','src/java/org/apache/ugli/LoggerFactory.java',70,70,'org.apache.ugli.LoggerFactory','getLogger(String)',NULL),(11872,'subsequent calls within one minute are optimized to reuse previous\nformatted value. make a couple of nearly spaced calls\n(Note: \'Z\' is JDK 1.4, using \'z\' instead.)','Line','tests/src/java/org/apache/log4j/pattern/CachedDateFormatTest.java',140,142,'org.apache.log4j.pattern.CachedDateFormatTest','test4()',NULL),(11873,'subsequent calls within one minute\nare optimized to reuse previous formatted value\nmake a couple of nearly spaced calls\n(Note: \'Z\' is JDK 1.4, using \'z\' instead.)','Line','tests/src/java/org/apache/log4j/pattern/CachedDateFormatTest.java',164,167,'org.apache.log4j.pattern.CachedDateFormatTest','disabled_test5()',NULL),(11874,'HACK: Category is the last of the internal layers - pass this in as the class name\nin order for parsing to work correctly','Line','src/java/org/apache/log4j/filters/LocationInfoFilter.java',42,43,'org.apache.log4j.filters.LocationInfoFilter','None',NULL),(11875,'HACK: Category is the last of the internal layers - pass this in as the class name\nin order for parsing to work correctly','Line','src/java/org/apache/log4j/filter/LocationInfoFilter.java',42,43,'org.apache.log4j.filter.LocationInfoFilter','None',NULL),(11876,'if repository is set but logger is not an instance of Logger, we\ncould reset the logger, as in the line below. However, we chose not to\ndo so in order to make the bigger problem more apparent.','Line','src/java/org/apache/log4j/spi/ComponentBase.java',54,56,'org.apache.log4j.spi.ComponentBase','getLogger()',NULL),(11877,'If the systemId is not for us to handle, we delegate to our super\nclass, at leasts that\'s the basic idea. However, the code below\nneeds to be more complicated.\nDue to inexplicable voodoo, the original resolveEntity method in\norg.xml.sax.helpers.DefaultHandler declares throwing an IOException,\nwhereas the org.xml.sax.helpers.DefaultHandler class included in\nJDK 1.4 masks this exception. In JDK 1.5, the IOException has been\nput back...\nIn order to compile under JDK 1.4, we are forced to mask the IOException\nas well. Since its signatures varies, we cannot call our super class\'\nresolveEntity method. We are forced to implement the default behavior\nourselves, which in this case, is just returning null.','Line','src/java/org/apache/log4j/joran/util/JoranDocument.java',131,142,'org.apache.log4j.joran.util.JoranDocument','error(SAXParseException)',NULL),(11878,'Endre\'s hack:','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',130,130,'org.apache.log4j.xml.DOMConfigurator','findAppenderByName(Document, String)','DESIGN'),(11879,'None','None','src/java/org/apache/log4j/xml/DOMConfigurator.java',-1,-1,'None','None',NULL),(11880,'Hack finished.','Line','src/java/org/apache/log4j/xml/DOMConfigurator.java',146,146,'org.apache.log4j.xml.DOMConfigurator','findAppenderByName(Document, String)','DESIGN'),(11881,'Yes, it\'s ugly.  But all of these exceptions point to the same\nproblem: we can\'t create an Appender','Block','src/java/org/apache/log4j/xml/DOMConfigurator.java',232,233,'org.apache.log4j.xml.DOMConfigurator','parseAppender(Element)','DESIGN'),(11882,'TODO: this method should be removed if OptionConverter becomes a static','Line','src/java/org/apache/log4j/helpers/OptionConverter.java',61,61,'org.apache.log4j.helpers.OptionConverter','getLogger()',NULL),(11883,'TODO: this method should be removed if OptionConverter becomes a static','Line','src/java/org/apache/log4j/helpers/OptionConverter.java',66,66,'org.apache.log4j.helpers.OptionConverter','setLoggerRepository(LoggerRepository)',NULL),(11884,'TODO: this method should be removed if OptionConverter becomes totally static','Line','src/java/org/apache/log4j/helpers/OptionConverter.java',60,60,'org.apache.log4j.helpers.OptionConverter','setLoggerRepository(LoggerRepository)',NULL),(11885,'FIXME: We should not flood other appenders but at the same time\nshould output something meaningful (only once though).\nLogging not allowed:\ngetLogger().error(','Line','src/java/org/apache/log4j/AppenderSkeleton.java',213,216,'org.apache.log4j.AppenderSkeleton','doAppend(LoggingEvent)','DESIGN'),(11886,'By eliminating left-recursion, th above grammar can be transformed into the\nfollowing LL(1) form. \'#\' stands for lambda, that is an empty sequence.','Line','src/java/org/apache/log4j/lbel/Parser.java',29,30,'org.apache.log4j.lbel.Parser','None',NULL),(11887,'the following test cannot be run because of a bug in the way\njava.io.StreamTokenizer incorrectly interprets the \'\\\' character within quotes','Line','tests/src/java/org/apache/log4j/lbel/EventEvaluationTest.java',89,90,'org.apache.log4j.lbel.EventEvaluationTest','testRegexMessage()',NULL),(11888,'TODO: add support for spaces in prooperty keys','Line','tests/src/java/org/apache/log4j/lbel/TokenStreamTest.java',259,259,'org.apache.log4j.lbel.TokenStreamTest','testProperty2()','NOT_DESIGN'),(11889,'the following test cannot be run because of a bug in the way\njava.io.StreamTokenizer incorrectly interprets the \'\\\' character within quotes','Line','tests/src/java/org/apache/log4j/lbel/EventEvaluationTest.java',96,97,'org.apache.log4j.lbel.EventEvaluationTest','testRegexMessage()','NOT_DESIGN'),(11890,'None','None','tests/src/java/org/apache/log4j/lbel/EventEvaluationTest.java',-1,-1,'None','None',NULL),(11891,'None','None','tests/src/java/org/apache/log4j/lbel/TokenStreamTest.java',-1,-1,'None','None',NULL),(11892,'TODO consider falling back on something more meaningful','Line','src/java/org/apache/ugli/LoggerFactory.java',72,72,'org.apache.ugli.LoggerFactory','getLogger(String)',NULL),(11893,'TODO CG better errorHandling code here\nno point in continuing','Line','src/java/org/apache/log4j/db/DBAppender2.java',212,213,'org.apache.log4j.db.DBAppender2','fillEventIDArray(Connection, Statement)',NULL),(11894,'None','None','src/java/org/apache/log4j/AppenderSkeleton.java',-1,-1,'None','None',NULL),(11895,'Failing to reset the object output stream every now and\nthen creates a serious memory leak.\nright now we always reset. TODO - set up frequency counter per oos?','Line','src/java/org/apache/log4j/net/SocketHubAppender.java',220,222,'org.apache.log4j.net.SocketHubAppender','activateOptions()',NULL),(11896,'Failing to reset the object output stream every now and\nthen creates a serious memory leak.\nright now we always reset. TODO - set up frequency counter per oos?','Line','src/java/org/apache/log4j/net/SocketHubAppender.java',222,224,'org.apache.log4j.net.SocketHubAppender','activate()',NULL),(11897,'TODO and maybe play a sound?','Line','src/java/org/apache/log4j/chainsaw/ChainsawStatusBar.java',219,219,'org.apache.log4j.chainsaw.ChainsawStatusBar','remoteConnectionReceived(String)',NULL),(11898,'So we haven\'t found this index in the current children,\nbetter create the child','Block','src/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java',105,108,'org.apache.log4j.chainsaw.LogPanelLoggerTreeModel','loggerNameAdded(String)',NULL),(11899,'TODO come up with a better page not found url','Line','src/java/org/apache/log4j/chainsaw/ChainsawConstants.java',85,85,'org.apache.log4j.chainsaw.ChainsawConstants','None',NULL),(11900,'TODO remove the plugin from the gui','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',455,455,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11901,'TODO this should all be in a config file','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',459,459,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11902,'TODO this should also be fixed up, as VFS bits and pieces might not be built in an Ant build when they don\'t have all the VFS jars local','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',464,464,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11903,'TODO Ask the user if they want to save the settings via a dialog.','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1334,1334,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11904,'TODO ensure the Welcome Panel is the selected tab','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1580,1580,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11905,'NOTE: tab addition is a very fragile process - if you modify this code,\nverify the frames in the individual log panels initialize to their\ncorrect sizes','Line','src/java/org/apache/log4j/chainsaw/LogUI.java',1778,1780,'org.apache.log4j.chainsaw.LogUI','showSplash(Frame)',NULL),(11906,'TODO setup all the base URLs in the default.properties and configure in ApplicationPreferenceModel','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',51,51,'org.apache.log4j.chainsaw.help.HelpManager','getHelpURL()',NULL),(11907,'TODO: handle exception','Line','src/java/org/apache/log4j/chainsaw/help/HelpManager.java',68,68,'org.apache.log4j.chainsaw.help.HelpManager','getHelpURL()',NULL),(11908,'============================================\nTODO remove this WIP node once we\'re statisfied','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTree.java',37,38,'org.apache.log4j.chainsaw.LoggerNameTree','None',NULL),(11909,'TODO: handle exception','Line','src/java/org/apache/log4j/chainsaw/FileLoadAction.java',112,112,'org.apache.log4j.chainsaw.FileLoadAction','actionPerformed(ActionEvent)',NULL),(11910,'TODO think of good mnemonics and HotKey for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',514,514,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createShowPreferencesAction()',NULL),(11911,'TODO think of good mnemonics and HotKey for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',533,533,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createCustomExpressionPanelAction()',NULL),(11912,'TODO think of good mnemonics and HotKey for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',552,552,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createShowColorPanelAction()',NULL),(11913,'TODO think of some mnemonics and HotKeys for this action','Line','src/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java',741,741,'org.apache.log4j.chainsaw.ChainsawToolBarAndMenus','createUndockAction()',NULL),(11914,'TODO: handle exception','Line','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',157,157,'org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel','initComponents()',NULL),(11915,'TODO Determine if the property is one of the ones a User could edit','Line','src/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java',327,327,'org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel','isCellEditable(int, int)',NULL),(11916,'TODO work out a better way of decorating a component','Line','src/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java',81,81,'org.apache.log4j.chainsaw.dnd.FileDnDTarget','decorateComponent()',NULL),(11917,'// TODO format should come from a preference model','Line','src/java/org/apache/log4j/chainsaw/vfs/DirectoryListTableModel.java',114,114,'org.apache.log4j.chainsaw.vfs.DirectoryListTableModel','formatFileSize(double)',NULL),(11918,'Failing to reset the object output stream every now and\nthen creates a serious memory leak.\nright now we always reset. TODO - set up frequency counter per oos?','Line','src/java/org/apache/log4j/net/SocketHubAppender.java',223,225,'org.apache.log4j.net.SocketHubAppender','activate()',NULL),(11919,'TODO should all columns be sorted?  I think so...','Line','src/java/org/apache/log4j/chainsaw/vfs/DirectoryListTableModel.java',217,217,'org.apache.log4j.chainsaw.vfs.DirectoryListTableModel','isSortable(int)',NULL),(11920,'TODO not everything catered for here yet...','Line','src/java/org/apache/log4j/chainsaw/ColumnComparator.java',47,47,'org.apache.log4j.chainsaw.ColumnComparator','compare(Object, Object)',NULL),(11921,'TODO enable this when it\'s ready.','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',695,695,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11922,'need to ensure the button doens\'t update itself with the text, looks stupid otherwise','Line','src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java',928,928,'org.apache.log4j.chainsaw.LoggerNameTreePanel','evaluate(LoggingEvent)',NULL),(11923,'TODO load the pref model from preference storage','Line','src/java/org/apache/log4j/chainsaw/vfs/VFSPlugin.java',105,105,'org.apache.log4j.chainsaw.vfs.VFSPlugin','shutdown()',NULL),(11924,'TODO work out how the Selector has it\'s AppenderFactory configured by Joran','Line','src/java/org/apache/log4j/multiplex/MultiplexAppender.java',36,36,'org.apache.log4j.multiplex.MultiplexAppender','activateOptions()',NULL),(11925,'move pointer','Line','src/java/org/apache/log4j/pattern/PatternParser.java',224,224,'org.apache.log4j.pattern.PatternParser','parse()',NULL),(11926,'move pointer','Line','src/java/org/apache/log4j/pattern/PatternParser.java',281,281,'org.apache.log4j.pattern.PatternParser','getPatternLayoutRules()',NULL),(11927,'TODO This is clearly bogus.','Line','src/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java',183,183,'org.apache.log4j.rolling.FixedWindowRollingPolicy','getActiveFileName()','NOT_DESIGN'),(11928,'None','None','src/java/org/apache/log4j/rolling/FixedWindowRollingPolicy.java',-1,-1,'None','None',NULL),(11929,'The number of times we allow push to be called before we call lazyRemove\n5 is a relatively small number. As such, lazyRemove is not called too\nfrequently. We thus avoid the cost of creating an Enumeration too often.\nThe higher this number, the longer is the avarage period for which all\nlogging calls in all threads are blocked.','Line','log4jMini/src/java/org/apache/log4j/NDC.java',110,114,'org.apache.log4j.NDC','None',NULL),(11930,'The synchronization on ht is necessary to prevent JDK 1.2.x from\nthrowing ConcurrentModificationExceptions at us. This sucks BIG-TIME.\nOne solution is to write our own hashtable implementation.','Line','log4jMini/src/java/org/apache/log4j/NDC.java',228,230,'org.apache.log4j.NDC','clear()',NULL),(11931,'Print Stacktrace\nQuick Hack maybe there is a better/faster way?','Line','contribs/SvenReimers/gui/TextPaneAppender.java',149,150,'org.apache.log4j.gui.TextPaneAppender','append(LoggingEvent)',NULL),(11932,'\ncould potentially return a LoggerRepository property value\nwhen there is not an MDC property value\nbut the negative consequences should be minimal.','Line','src/java/org/apache/log4j/spi/LoggingEvent.java',549,552,'org.apache.log4j.spi.LoggingEvent','getMDC(String)',NULL),(11933,'move pointer','Line','src/java/org/apache/log4j/helpers/PatternParser.java',148,148,'org.apache.log4j.helpers.PatternParser','addToList(PatternConverter)',NULL),(11934,'move the bad config file into place','Line','tests/src/java/org/apache/log4j/watchdog/FileWatchdogTestCase.java',321,321,'org.apache.log4j.watchdog.FileWatchdogTestCase','testJoranConfigurationError()',NULL),(11935,'move the good config file into place','Line','tests/src/java/org/apache/log4j/watchdog/FileWatchdogTestCase.java',337,337,'org.apache.log4j.watchdog.FileWatchdogTestCase','testJoranConfigurationError()',NULL),(11936,'move the good config file into place','Line','tests/src/java/org/apache/log4j/watchdog/FileWatchdogTestCase.java',420,420,'org.apache.log4j.watchdog.FileWatchdogTestCase','testPropertyConfigurationError()',NULL),(11937,'File: SynchronizedBoolean.java\n\nOriginally written by Doug Lea and released into the public domain.\nThis may be used for any purposes whatsoever without acknowledgment.\nThanks for the assistance and support of Sun Microsystems Labs,\nand everyone contributing, testing, and using this code.\n\nHistory:\nDate       Who                What\n19Jun1998  dl               Create public version','Block','src/java/org/apache/log4j/concurrent/SynchronizedBoolean.java',2,13,'None','None',NULL),(11938,'Prevent concurrent re-entry by this thread\n(There might be a cheaper way to do this)\n(Or maybe this lock is not necessary)','Line','src/java/org/apache/log4j/concurrent/ConcurrentAppender.java',189,191,'org.apache.log4j.concurrent.ConcurrentAppender','activateOptions()',NULL),(11939,'File: ReadWriteLock.java\n\nOriginally written by Doug Lea and released into the public domain.\nThis may be used for any purposes whatsoever without acknowledgment.\nThanks for the assistance and support of Sun Microsystems Labs,\nand everyone contributing, testing, and using this code.\n\nHistory:\nDate       Who                What\n11Jun1998  dl               Create public version','Block','src/java/org/apache/log4j/concurrent/ReadWriteLock.java',1,12,'None','None',NULL),(11940,'File: WriterPreferenceReadWriteLock.java\n\nOriginally written by Doug Lea and released into the public domain.\nThis may be used for any purposes whatsoever without acknowledgment.\nThanks for the assistance and support of Sun Microsystems Labs,\nand everyone contributing, testing, and using this code.\n\nHistory:\nDate       Who                What\n11Jun1998  dl               Create public version\n5Aug1998  dl               replaced int counters with longs\n25aug1998  dl               record writer thread\n3May1999  dl               add notifications on interrupt/timeout','Block','src/java/org/apache/log4j/concurrent/WriterPreferenceReadWriteLock.java',1,16,'None','None',NULL),(11941,'File: ReentrantWriterPreferenceReadWriteLock.java\n\nOriginally written by Doug Lea and released into the public domain.\nThis may be used for any purposes whatsoever without acknowledgment.\nThanks for the assistance and support of Sun Microsystems Labs,\nand everyone contributing, testing, and using this code.\n\nHistory:\nDate       Who                What\n26aug1998  dl                 Create public version\n7sep2000  dl                 Readers are now also reentrant\n19jan2001  dl                 Allow read->write upgrades if the only reader\n10dec2002  dl                 Throw IllegalStateException on extra release','Block','src/java/org/apache/log4j/concurrent/ReentrantWriterPreferenceReadWriteLock.java',1,15,'None','None',NULL),(11942,'File: Sync.java\n\nOriginally written by Doug Lea and released into the public domain.\nThis may be used for any purposes whatsoever without acknowledgment.\nThanks for the assistance and support of Sun Microsystems Labs,\nand everyone contributing, testing, and using this code.\n\nHistory:\nDate       Who                What\n11Jun1998  dl               Create public version\n5Aug1998  dl               Added some convenient time constants','Block','src/java/org/apache/log4j/concurrent/Sync.java',1,13,'None','None',NULL),(11943,'try catch in case toString() barfs','Block','java/org/apache/catalina/valves/AccessLogValve.java',956,956,'org.apache.catalina.valves.AccessLogValve','replace(String, char, Request, Response)',NULL),(11944,'TODO: enable ant-like substitutions ? ( or at least discuss it )','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',62,62,'None','None','DESIGN'),(11945,'XXX should be deprecated - just call setInfo','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',133,133,'org.apache.tomcat.util.modeler.BaseModelMBean','None','NOT_DESIGN'),(11946,'workaround for catalina weird mbeans - the declaring class is BaseModelMBean.\nbut this is the catalina class.','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',294,295,'org.apache.tomcat.util.modeler.BaseModelMBean','None',NULL),(11947,'Return the results of this method invocation\nFIXME - should we validate the return type?','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',319,320,'org.apache.tomcat.util.modeler.BaseModelMBean','None',NULL),(11948,'XXX Why do we have to clone ?','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',357,357,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11949,'Prepare the signature required by Java reflection APIs\nFIXME - should we use the signature from opInfo?','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',417,418,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11950,'Locate the method to be invoked, either in this MBean itself\nor in the corresponding managed resource\nFIXME - Accessible methods in superinterfaces?','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',424,426,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11951,'Return the results of this method invocation\nFIXME - should we validate the return type?','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',479,480,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(11952,'this mbean is asscoiated with a source - maybe we want to persist','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',649,649,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11953,'FIXME - currently this removes *all* notifications for this listener','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',863,863,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(11954,'XXX If a context was set, use it to load the data','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1188,1188,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11955,'XXX if a context was set, use it to store the data','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1215,1215,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11956,'XXX Need a better solution - to avoid the static','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1312,1312,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)','DESIGN'),(11957,'maybe we have a single mlet','Line','java/org/apache/tomcat/util/modeler/modules/MbeansSource.java',142,142,'org.apache.tomcat.util.modeler.modules.MbeansSource','execute()',NULL),(11958,'XXX Not very clean...  Just a workaround','Line','java/org/apache/tomcat/util/modeler/modules/MbeansSource.java',150,150,'org.apache.tomcat.util.modeler.modules.MbeansSource','execute()',NULL),(11959,'We wrap everything in a model mbean.\nXXX need to support \\\"StandardMBeanDescriptorsSource\\\"','Line','java/org/apache/tomcat/util/modeler/modules/MbeansSource.java',188,189,'org.apache.tomcat.util.modeler.modules.MbeansSource','execute()',NULL),(11960,'XXX Arguments, loader !!!','Line','java/org/apache/tomcat/util/modeler/modules/MbeansSource.java',199,199,'org.apache.tomcat.util.modeler.modules.MbeansSource','execute()',NULL),(11961,'TODO','Line','java/org/apache/tomcat/util/modeler/modules/ModelerSource.java',33,33,'org.apache.tomcat.util.modeler.modules.ModelerSource','loadDescriptors(Registry, String, String, Object)',NULL),(11962,'FIXME - Validate','Line','java/org/apache/tomcat/util/modeler/OperationInfo.java',91,91,'org.apache.tomcat.util.modeler.OperationInfo','None','NOT_DESIGN'),(11963,'EXPERIMENTAL. It may fit better in tomcat jndi impl.','Line','java/org/apache/tomcat/util/modeler/JndiJmx.java',38,38,'None','None',NULL),(11964,'XXX add filter support','Line','java/org/apache/tomcat/util/modeler/JndiJmx.java',135,135,'org.apache.tomcat.util.modeler.JndiJmx','handleNotification(Notification, Object)',NULL),(11965,'XXX need to extract info about previously loaded beans','Line','java/org/apache/tomcat/util/modeler/JndiJmx.java',220,220,'org.apache.tomcat.util.modeler.JndiJmx','init()',NULL),(11966,'XXX reallocate','Line','java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java',229,229,'org.apache.tomcat.util.modeler.BaseNotificationBroadcaster','registerNotifications(FixedNotificationFilter)',NULL),(11967,'XXX Make it customizable - or grow it','Line','java/org/apache/tomcat/util/modeler/BaseNotification.java',78,78,'org.apache.tomcat.util.modeler.BaseNotification','recycle()',NULL),(11968,'Issues:\n- exceptions - too many \\\"throws Exception\\\"\n- double check the interfaces\n- start removing the use of the experimental methods in tomcat, then remove\nthe methods ( before 1.1 final )\n- is the security enough to prevent Registry beeing used to avoid the permission\nchecks in the mbean server ?','Block','java/org/apache/tomcat/util/modeler/Registry.java',47,55,'None','None',NULL),(11969,'map to avoid duplicated searching or loading descriptors','Line','java/org/apache/tomcat/util/modeler/Registry.java',115,115,'org.apache.tomcat.util.modeler.Registry','None',NULL),(11970,'XXX Should I throw a permission ex ?','Line','java/org/apache/tomcat/util/modeler/Registry.java',170,170,'org.apache.tomcat.util.modeler.Registry','getRegistry(Object, Object)',NULL),(11971,'XXX Use group + name','Line','java/org/apache/tomcat/util/modeler/Registry.java',413,413,'org.apache.tomcat.util.modeler.Registry','addManagedBean(ManagedBean)',NULL),(11972,'XXX Group ?? Use Group + Type','Line','java/org/apache/tomcat/util/modeler/Registry.java',430,430,'org.apache.tomcat.util.modeler.Registry','findManagedBean(String)',NULL),(11973,'TODO: change this to use group/name','Line','java/org/apache/tomcat/util/modeler/Registry.java',481,481,'org.apache.tomcat.util.modeler.Registry','removeManagedBean(ManagedBean)',NULL),(11974,'XXX Cleanup ?','Line','java/org/apache/tomcat/util/modeler/Registry.java',997,997,'org.apache.tomcat.util.modeler.Registry','unregisterRegistry(ClassLoader)',NULL),(11975,'XXX remove from our tables.','Line','java/org/apache/tomcat/util/modeler/Registry.java',1055,1055,'org.apache.tomcat.util.modeler.Registry','unregisterComponent(String, String)',NULL),(11976,'FIXME: Older spec revisions may still check this','Line','java/org/apache/catalina/core/StandardContext.java',2100,2100,'org.apache.catalina.core.StandardContext','getEncodedPath()',NULL),(11977,'we probably have this check somewhere else too.','Line','java/org/apache/catalina/servlets/DefaultServlet.java',356,356,'org.apache.catalina.servlets.DefaultServlet','destroy()','DESIGN'),(11978,'Serve the requested resource, including the data content','Line','java/org/apache/catalina/servlets/DefaultServlet.java',352,352,'org.apache.catalina.servlets.DefaultServlet','destroy()',NULL),(11979,'XXX get domain from registration','Line','java/org/apache/coyote/http11/Http11BaseProtocol.java',136,136,'org.apache.coyote.http11.Http11BaseProtocol','setAttribute(String, Object)',NULL),(11980,'socket factory attriubtes ( XXX replace with normal setters )','Line','java/org/apache/coyote/http11/Http11BaseProtocol.java',194,194,'org.apache.coyote.http11.Http11BaseProtocol','setAttribute(String, Object)',NULL),(11981,'The SSL setup code has been moved into\nSSLImplementation since SocketFactory doesn\'t\nprovide a wide enough interface','Line','java/org/apache/coyote/http11/Http11BaseProtocol.java',726,728,'org.apache.coyote.http11.Http11BaseProtocol','checkSocketFactory()',NULL),(11982,'XXX We should be able to configure it separately\nXXX It should be possible to use a single TP','Line','java/org/apache/coyote/http11/Http11Protocol.java',52,53,'org.apache.coyote.http11.Http11Protocol','createConnectionHandler()','DESIGN'),(11983,'None','None','java/org/apache/coyote/http11/Http11Protocol.java',-1,-1,'None','None',NULL),(11984,'Weird artifact - it should be cleaned up, but that may break something\nand it won\'t gain us too much','Line','java/org/apache/coyote/http11/Http11Protocol.java',102,103,'org.apache.coyote.http11.Http11Protocol','createConnectionHandler()','NOT_DESIGN'),(11985,'Note: All the following are JSSE/java.io specific attributes.','Block','java/org/apache/coyote/http11/Http11Protocol.java',480,482,'org.apache.coyote.http11.Http11Protocol','setAttribute(String, Object)',NULL),(11986,'SSL certificate extraction is lazy, moved to JkCoyoteHandler','Line','java/org/apache/coyote/ajp/AjpProcessor.java',718,718,'org.apache.coyote.ajp.AjpProcessor','prepareRequest()',NULL),(11987,'4 - hardcoded, byte[] marshalling overhead','Line','java/org/apache/coyote/ajp/AjpProcessor.java',1153,1153,'org.apache.coyote.ajp.AjpProcessor','doWrite(ByteChunk, Response)',NULL),(11988,'FIXME: It is also possible to add a new \\\"event\\\" method in the adapter\nor something similar','Line','java/org/apache/coyote/http11/Http11AprProcessor.java',749,750,'org.apache.coyote.http11.Http11AprProcessor','event(boolean)','NOT_DESIGN'),(11989,'FIXME: Support for this could be added in AJP as well','Line','java/org/apache/coyote/ajp/AjpAprProtocol.java',433,433,'org.apache.coyote.ajp.AjpAprProtocol','setAttribute(String, Object)',NULL),(11990,'FIXME: Find an appropriate timeout value, for now, \\\"longer than usual\\\"\nsemms appropriate','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',1131,1132,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)',NULL),(11991,'FIXME: should really close in case of timeout ?\nFIXME: maybe comet should use an extended timeout','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',1343,1344,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)',NULL),(11992,'FIXME: Implement without comet support','Line','java/org/apache/catalina/servlets/CometServlet.java',63,63,'org.apache.catalina.servlets.CometServlet','service(HttpServletRequest, HttpServletResponse)',NULL),(11993,'None','None','java/org/apache/coyote/http11/Http11AprProcessor.java',-1,-1,'None','None',NULL),(11994,'FIXME: Implement without comet support','Line','java/org/apache/catalina/servlets/CometServlet.java',74,74,'org.apache.catalina.servlets.CometServlet','service(HttpServletRequest, HttpServletResponse)','NOT_DESIGN'),(11995,'No Comet support: regular servlet handling','Line','java/org/apache/catalina/servlets/CometServlet.java',74,74,'org.apache.catalina.servlets.CometServlet','service(HttpServletRequest, HttpServletResponse)',NULL),(11996,'FIXME: Add HTML filtering','Line','webapps/examples/WEB-INF/classes/chat/ChatServlet.java',193,193,'chat.ChatServlet','run()',NULL),(11997,'HttpServletResponse.getCharacterEncoding() shouldn\'t return null\naccording the spec, so feel free to remove that \\\"if\\\"','Line','webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java',235,236,'compressionFilters.CompressionServletResponseWrapper','getWriter()',NULL),(11998,'TODO: We can easly do the maintenance here','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',1219,1219,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)','NOT_DESIGN'),(11999,'None','None','java/org/apache/tomcat/util/net/AprEndpoint.java',-1,-1,'None','None',NULL),(12000,'FIXME: should really close in case of timeout ?\nFIXME: maybe comet should use an extended timeout','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',1304,1305,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)','DESIGN'),(12001,'Close socket and clear pool','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',1311,1311,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)',NULL),(12002,'The only invalid char is \\n\nWe also need to keep the string short and split it with \\nSPACE\nXXX TODO','Line','java/org/apache/catalina/manager/JMXProxyServlet.java',196,198,'org.apache.catalina.manager.JMXProxyServlet','escape(String)',NULL),(12003,'The uploaded file is being stored on disk\nin a temporary location so move it to the\ndesired file.','Block','java/org/apache/tomcat/util/http/fileupload/DefaultFileItem.java',363,367,'org.apache.tomcat.util.http.fileupload.DefaultFileItem','write(File)',NULL),(12004,'FIXME need we this?','Line','java/org/apache/catalina/manager/host/Constants.java',195,195,'org.apache.catalina.manager.host.Constants','None',NULL),(12005,'Determine how much data should be kept in the\nbuffer.','Line','java/org/apache/tomcat/util/http/fileupload/MultipartStream.java',511,512,'org.apache.tomcat.util.http.fileupload.MultipartStream','readBodyData(OutputStream)',NULL),(12006,'Move the data to the beging of the buffer.','Line','java/org/apache/tomcat/util/http/fileupload/MultipartStream.java',524,524,'org.apache.tomcat.util.http.fileupload.MultipartStream','readBodyData(OutputStream)',NULL),(12007,'Determine how much data should be kept in the\nbuffer.','Line','java/org/apache/tomcat/util/http/fileupload/MultipartStream.java',589,590,'org.apache.tomcat.util.http.fileupload.MultipartStream','discardBodyData()',NULL),(12008,'Move the data to the beging of the buffer.','Line','java/org/apache/tomcat/util/http/fileupload/MultipartStream.java',601,601,'org.apache.tomcat.util.http.fileupload.MultipartStream','discardBodyData()',NULL),(12009,'Look for a realm - that may have been configured earlier.\nIf the realm is added after context - it\'ll set itself.\nTODO: what is the use case for this ?','Line','java/org/apache/catalina/core/StandardContext.java',4057,4059,'org.apache.catalina.core.StandardContext','getEncodedPath()',NULL),(12010,'We could do it the hard way...','Line','java/org/apache/catalina/core/StandardContext.java',5187,5187,'org.apache.catalina.core.StandardContext','getEncodedPath()',NULL),(12011,'We can use Event/Listener, but this is probably simpler\nand more efficient','Line','java/org/apache/tomcat/util/threads/Expirer.java',31,32,'org.apache.tomcat.util.threads.Expirer','None',NULL),(12012,'XXX TODO Allow per/callback interval, find next, etc\nRight now the \\\"interval\\\" is used for all callbacks\nand it represent a sleep between runs.','Line','java/org/apache/tomcat/util/threads/Reaper.java',50,52,'org.apache.tomcat.util.threads.Reaper','None',NULL),(12013,'XXX Should be called \'interval\' not defaultInterval','Line','java/org/apache/tomcat/util/threads/Reaper.java',63,63,'org.apache.tomcat.util.threads.Reaper','setDefaultInterval(long)',NULL),(12014,'it may be null if a callback is removed.\nI think the code is correct','Line','java/org/apache/tomcat/util/threads/Reaper.java',115,116,'org.apache.tomcat.util.threads.Reaper','run()',NULL),(12015,'Changes from commons.modeler:\n\n- use DynamicMBean\n- remove methods not used in tomcat and redundant/not very generic\n- must be created from the ManagedBean - I don\'t think there were any direct\nuses, but now it is required.\n- some of the gratuituous flexibility removed - instead this is more predictive and\nstrict with the use cases.\n- all Method and metadata is stored in ManagedBean. BaseModelBMean and ManagedBean act\nlike Object and Class.\n- setModelMBean is no longer called on resources ( not used in tomcat )\n- no caching of Methods for now - operations and setters are not called repeatedly in most\nmanagement use cases. Getters should\'t be called very frequently either - and even if they\nare, the overhead of getting the method should be small compared with other JMX costs ( RMI, etc ).\nWe can add getter cache if needed.\n- removed unused constructor, fields\n\nTODO:\n- clean up catalina.mbeans, stop using weird inheritance','Block','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',51,71,'None','None',NULL),(12016,'None','None','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',-1,-1,'None','None',NULL),(12017,'Invoke the selected method on the appropriate object','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',290,290,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12018,'// this mbean is asscoiated with a source - maybe we want to persist','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',441,441,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12019,'}','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',443,443,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12020,'public void load() throws InstanceNotFoundException,','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',944,944,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12021,'// XXX If a context was set, use it to load the data\nthrow new MBeanException\n(new IllegalStateException(\\\"Persistence is not supported\\\"),','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',946,948,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12022,'\n}','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',950,951,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12023,'public void store() throws InstanceNotFoundException,','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',970,970,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12024,'\n// XXX if a context was set, use it to store the data\nthrow new MBeanException\n(new IllegalStateException(\\\"Persistence is not supported\\\"),','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',972,975,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12025,'\n}','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',977,978,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12026,'}\n','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1067,1068,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12027,'// XXX Need a better solution - to avoid the static\nif( registry == null )','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1070,1071,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12028,'','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1073,1073,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12029,'}','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',1075,1075,'org.apache.tomcat.util.modeler.BaseModelMBean','getAttribute(String)',NULL),(12030,'None','None','java/org/apache/tomcat/util/modeler/OperationInfo.java',-1,-1,'None','None',NULL),(12031,'Stupid - this will set the default minfo first....','Line','java/org/apache/tomcat/util/modeler/ManagedBean.java',371,371,'org.apache.tomcat.util.modeler.ManagedBean','createMBean(Object)',NULL),(12032,'TODO: do we need caching ? JMX is for management, it\'s not supposed to require lots of performance.','Line','java/org/apache/tomcat/util/modeler/ManagedBean.java',482,482,'org.apache.tomcat.util.modeler.ManagedBean','getGetter(String, BaseModelMBean, Object)',NULL),(12033,'Cache may be needed for getters, but it is a really bad idea for setters, this is far\nless frequent.','Line','java/org/apache/tomcat/util/modeler/ManagedBean.java',523,524,'org.apache.tomcat.util.modeler.ManagedBean','getSetter(String, BaseModelMBean, Object)',NULL),(12034,'Prepare the signature required by Java reflection APIs\nFIXME - should we use the signature from opInfo?','Line','java/org/apache/tomcat/util/modeler/ManagedBean.java',590,591,'org.apache.tomcat.util.modeler.ManagedBean','getInvoke(String, Object[], String[], BaseModelMBean, Object)',NULL),(12035,'Locate the method to be invoked, either in this MBean itself\nor in the corresponding managed resource\nFIXME - Accessible methods in superinterfaces?','Line','java/org/apache/tomcat/util/modeler/ManagedBean.java',597,599,'org.apache.tomcat.util.modeler.ManagedBean','getInvoke(String, Object[], String[], BaseModelMBean, Object)',NULL),(12036,'--------------------------------------------------- DynamicMBean Methods\nTODO: move to ManagedBean','Line','java/org/apache/tomcat/util/modeler/BaseModelMBean.java',143,144,'org.apache.tomcat.util.modeler.BaseModelMBean','None',NULL),(12037,'FIXME: Remove','Line','java/org/apache/coyote/http11/InternalNioOutputBuffer.java',204,204,'org.apache.coyote.http11.InternalNioOutputBuffer','setSocket(SocketChannel)',NULL),(12038,'FIXME:Put an error message','Block','java/org/apache/coyote/http11/InternalNioOutputBuffer.java',303,303,'org.apache.coyote.http11.InternalNioOutputBuffer','setSocket(SocketChannel)',NULL),(12039,'Note:  This is clearly incorrect for many strings,\nbut is the only consistent approach within the current\nservlet framework.  It must suffice until servlet output\nstreams properly encode their output.','Line','java/org/apache/coyote/http11/InternalNioOutputBuffer.java',647,650,'org.apache.coyote.http11.InternalNioOutputBuffer','write(CharChunk)',NULL),(12040,'Note:  This is clearly incorrect for many strings,\nbut is the only consistent approach within the current\nservlet framework.  It must suffice until servlet output\nstreams properly encode their output.','Line','java/org/apache/coyote/http11/InternalNioOutputBuffer.java',694,697,'org.apache.coyote.http11.InternalNioOutputBuffer','write(String)',NULL),(12041,'If there\'s no content length\n(broken HTTP/1.0 or HTTP/1.1), assume\nthe client is not broken and didn\'t send a body','Line','java/org/apache/coyote/http11/Http11NioProcessor.java',1407,1409,'org.apache.coyote.http11.Http11NioProcessor','prepareRequest()',NULL),(12042,'FIXME: Add transfer encoding header','Line','java/org/apache/coyote/http11/Http11NioProcessor.java',1663,1663,'org.apache.coyote.http11.Http11NioProcessor','prepareResponse()',NULL),(12043,'todo, set backlog value\nmimic APR behavior\nSendfile usage on systems which don\'t support it cause major problems','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',580,582,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)','NOT_DESIGN'),(12044,'FIXME: Doesn\'t seem to work that well with multiple accept threads','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',590,590,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12045,'Initialize SSL\nFIXME: one per VM call ?','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',603,604,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12046,'}\n}\n/* TODO: See if we need to call the maintain for sendfile poller */','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1685,1687,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12047,'todo, set backlog value\nmimic APR behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',532,533,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12048,'Initialize thread count defaults for acceptor, poller and sendfile','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',535,535,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12049,'}\n}\n/* TODO: See if we need to call the maintain for sendfile poller */','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1706,1708,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)','NOT_DESIGN'),(12050,'None','None','java/org/apache/tomcat/util/net/NioEndpoint.java',-1,-1,'None','None',NULL),(12051,'TODO: should set status codes (NPH support)','Line','java/org/apache/catalina/util/ProcessHelper.java',416,416,'org.apache.catalina.util.ProcessHelper','run()',NULL),(12052,'REMIND: rewrite multiple headers as if received as single\nREMIND: change character set\nREMIND: I forgot what the previous REMIND means','Line','java/org/apache/catalina/util/CGIProcessEnvironment.java',261,263,'org.apache.catalina.util.CGIProcessEnvironment','deriveProcessEnvironment(HttpServletRequest)',NULL),(12053,'FIXME: Remove','Line','java/org/apache/coyote/http11/InternalNioOutputBuffer.java',199,199,'org.apache.coyote.http11.InternalNioOutputBuffer','setSocket(NioChannel)',NULL),(12054,'FIXME:Put an error message','Block','java/org/apache/coyote/http11/InternalNioOutputBuffer.java',298,298,'org.apache.coyote.http11.InternalNioOutputBuffer','setSocket(NioChannel)',NULL),(12055,'Initialize SSL\nFIXME: one per VM call ?','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',539,540,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)','DESIGN'),(12056,'Initialize SSL','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',478,478,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12057,'allocate network buffers - TODO, add in optional direct buffers','Line','java/org/apache/tomcat/util/net/SecureNioChannel.java',45,45,'org.apache.tomcat.util.net.SecureNioChannel','flush(ByteBuffer)','NOT_DESIGN'),(12058,'if we need more network data, then bail out for now.','Line','java/org/apache/tomcat/util/net/SecureNioChannel.java',315,315,'org.apache.tomcat.util.net.SecureNioChannel','read(ByteBuffer)',NULL),(12059,'sun bug 5076772 on windows JDK 1.5','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1041,1041,'org.apache.tomcat.util.net.NioEndpoint','setExecutor(Executor)',NULL),(12060,'None','None','java/org/apache/tomcat/util/net/SecureNioChannel.java',-1,-1,'None','None',NULL),(12061,'allocate network buffers - TODO, add in optional direct non-direct buffers','Line','java/org/apache/tomcat/util/net/SecureNioChannel.java',37,37,'org.apache.tomcat.util.net.SecureNioChannel','reset()',NULL),(12062,'if the session has been idle twice as long as allowed,\nthe primary session has probably crashed, and no other\nrequests are coming in. that is why we do this. otherwise\nwe would have a memory leak','Line','java/org/apache/catalina/ha/session/DeltaSession.java',329,332,'org.apache.catalina.ha.session.DeltaSession','isValid()',NULL),(12063,'how many times to search for an available socket','Line','java/org/apache/catalina/tribes/transport/ReceiverBase.java',58,58,'org.apache.catalina.tribes.transport.ReceiverBase','None',NULL),(12064,'todo implement\nshould only return keys where this is active.','Line','java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java',847,848,'org.apache.catalina.tribes.tipis.AbstractReplicatedMap','wrap(Member)',NULL),(12065,'todo, implement a counter variable instead\nonly count active members in this node','Line','java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java',861,862,'org.apache.catalina.tribes.tipis.AbstractReplicatedMap','wrap(Member)',NULL),(12066,'ensure the arguments are not null so pre 1.2 VM\'s don\'t barf','Line','java/org/apache/catalina/tribes/util/StringManager.java',145,145,'org.apache.catalina.tribes.util.StringManager','getString(String)',NULL),(12067,'temporary fix for thread hand off problem','Line','java/org/apache/catalina/tribes/transport/ThreadPool.java',58,58,'org.apache.catalina.tribes.transport.ThreadPool','setupThread(WorkerThread)',NULL),(12068,'bail out if all remaining senders are failing','Line','java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java',89,89,'org.apache.catalina.tribes.transport.nio.ParallelNioSender','sendMessage(Member[], ChannelMessage)',NULL),(12069,'TODO correct second try after app is in service!','Line','java/org/apache/catalina/ha/deploy/FarmWarDeployer.java',213,213,'org.apache.catalina.ha.deploy.FarmWarDeployer','messageReceived(ClusterMessage)',NULL),(12070,'TODO Handle remove also work dir content !\nStop the context first to be nicer','Line','java/org/apache/catalina/ha/deploy/FarmWarDeployer.java',533,534,'org.apache.catalina.ha.deploy.FarmWarDeployer','remove(String)',NULL),(12071,'FIXME add Pool of Arraylists','Line','java/org/apache/catalina/ha/tcp/ReplicationValve.java',343,343,'org.apache.catalina.ha.tcp.ReplicationValve','invoke(Request, Response)',NULL),(12072,'FIXME we have a lot of sends, but the trouble with one node stops the correct replication to other nodes!','Line','java/org/apache/catalina/ha/tcp/ReplicationValve.java',431,431,'org.apache.catalina.ha.tcp.ReplicationValve','sendReplicationMessage(Request, long, boolean, ClusterManager, CatalinaCluster)',NULL),(12073,'FIXME this stats update are not cheap!!','Line','java/org/apache/catalina/ha/tcp/ReplicationValve.java',434,434,'org.apache.catalina.ha.tcp.ReplicationValve','sendReplicationMessage(Request, long, boolean, ClusterManager, CatalinaCluster)',NULL),(12074,'FIXME','Line','java/org/apache/catalina/ha/ClusterDeployer.java',52,52,'org.apache.catalina.ha.ClusterDeployer','install(String, URL)',NULL),(12075,'FIXME Hmm, is that correct when some DeltaManagers are direct configured inside Context?\nWhy we not support it for other elements, like sender, receiver or membership?\nMust we restart element after change?','Line','java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java',391,393,'org.apache.catalina.ha.tcp.SimpleTcpCluster','setProperty(String, Object)',NULL),(12076,'synchronize, big time FIXME','Line','java/org/apache/catalina/tribes/group/ChannelCoordinator.java',142,142,'org.apache.catalina.tribes.group.ChannelCoordinator','internalStart(int)',NULL),(12077,'unknown state, should never happen','Line','java/org/apache/catalina/tribes/transport/nio/NioSender.java',138,138,'org.apache.catalina.tribes.transport.nio.NioSender','process(SelectionKey, boolean)',NULL),(12078,'error free close, all the way','Line','java/org/apache/catalina/tribes/transport/nio/NioSender.java',234,234,'org.apache.catalina.tribes.transport.nio.NioSender','disconnect()',NULL),(12079,'FIXME How inform other session id cache like SingleSignOn\nincrement sessionCounter to correct stats report','Line','java/org/apache/catalina/ha/session/DeltaManager.java',670,671,'org.apache.catalina.ha.session.DeltaManager','deserializeSessions(byte[])',NULL),(12080,'FIXME better is to grap this sessions again !','Line','java/org/apache/catalina/ha/session/DeltaManager.java',676,676,'org.apache.catalina.ha.session.DeltaManager','deserializeSessions(byte[])',NULL),(12081,'FIXME This send call block the deploy thread, when sender waitForAck is enabled','Line','java/org/apache/catalina/ha/session/DeltaManager.java',865,865,'org.apache.catalina.ha.session.DeltaManager','getAllClusterSessions()',NULL),(12082,'FIXME At sender ack mode this method check only the state transfer and resend is a problem!','Line','java/org/apache/catalina/ha/session/DeltaManager.java',872,872,'org.apache.catalina.ha.session.DeltaManager','getAllClusterSessions()',NULL),(12083,'FIXME handle EVT_GET_ALL_SESSIONS later','Line','java/org/apache/catalina/ha/session/DeltaManager.java',882,882,'org.apache.catalina.ha.session.DeltaManager','getAllClusterSessions()',NULL),(12084,'todo, optimize, if destination.length==1, then we can do\nmsg.setOptions(msg.getOptions() & (~getOptionFlag())\nand just send one message','Line','java/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java',54,56,'org.apache.catalina.tribes.group.interceptors.TwoPhaseCommitInterceptor','None',NULL),(12085,'somehow start() gets called more than once','Line','java/org/apache/catalina/ha/session/SimpleTcpReplicationManager.java',72,72,'org.apache.catalina.ha.session.SimpleTcpReplicationManager','None',NULL),(12086,'XXX','Line','java/org/apache/jasper/compiler/ErrorDispatcher.java',463,463,'org.apache.jasper.compiler.ErrorDispatcher','jspError(String)','NOT_DESIGN'),(12087,'None','None','java/org/apache/jasper/compiler/ErrorDispatcher.java',-1,-1,'None','None',NULL),(12088,'Ok, no setXXX found, try a setProperty(\\\"name\\\", \\\"value\\\")','Line','test/org/apache/catalina/tribes/demos/IntrospectionUtils.java',340,340,'org.apache.catalina.tribes.demos.IntrospectionUtils','execute(Object, String)',NULL),(12089,'Ok, no setXXX found, try a getProperty(\\\"name\\\")','Line','test/org/apache/catalina/tribes/demos/IntrospectionUtils.java',394,394,'org.apache.catalina.tribes.demos.IntrospectionUtils','execute(Object, String)',NULL),(12090,'XXX','Line','test/org/apache/catalina/tribes/demos/IntrospectionUtils.java',481,481,'org.apache.catalina.tribes.demos.IntrospectionUtils','execute(Object, String)',NULL),(12091,'Note: There should really be two servlets in this example, to avoid\nmixing Comet stuff with regular connection processing','Line','webapps/examples/WEB-INF/classes/chat/ChatServlet.java',69,70,'chat.ChatServlet','init()',NULL),(12092,'FIXME: Since there\'s likely some structures kept in the servlet or elsewhere,\na cleanup event of some sort could be needed ?','Line','java/org/apache/catalina/connector/CoyoteAdapter.java',141,142,'org.apache.catalina.connector.CoyoteAdapter','event(org.apache.coyote.Request, org.apache.coyote.Response, boolean)',NULL),(12093,'Not started - it should check for availability first\nThis should eventually move to Engine, it\'s generic.','Line','java/org/apache/catalina/core/StandardHostValve.java',171,172,'org.apache.catalina.core.StandardHostValve','event(Request, Response, CometEvent)',NULL),(12094,'Normal request processing\nFIXME: This could be an addition to the core API too','Line','java/org/apache/catalina/core/StandardContextValve.java',218,219,'org.apache.catalina.core.StandardContextValve','event(Request, Response, CometEvent)',NULL),(12095,'FIXME: No instance listener processing for events for now','Line','java/org/apache/catalina/core/ApplicationFilterChain.java',351,351,'org.apache.catalina.core.ApplicationFilterChain','internalDoFilterEvent(CometEvent)',NULL),(12096,'Note: The try catch is there because getFilter has a lot of\ndeclared exceptions. However, the filter is allocated much\nearlier','Line','java/org/apache/catalina/core/ApplicationFilterFactory.java',173,175,'org.apache.catalina.core.ApplicationFilterFactory','createFilterChain(ServletRequest, Wrapper, Servlet)',NULL),(12097,'FIXME: Since there\'s likely some structures kept in the servlet or elsewhere,\na cleanup event of some sort could be needed ?','Line','java/org/apache/catalina/connector/CoyoteAdapter.java',132,133,'org.apache.catalina.connector.CoyoteAdapter','event(org.apache.coyote.Request, org.apache.coyote.Response, boolean)',NULL),(12098,'FIXME: Since there\'s likely some structures kept in the servlet or elsewhere,\na cleanup event of some sort could be needed ?','Line','java/org/apache/catalina/connector/CoyoteAdapter.java',148,149,'org.apache.catalina.connector.CoyoteAdapter','event(org.apache.coyote.Request, org.apache.coyote.Response, SocketStatus)',NULL),(12099,'FIXME: closing in all these cases is a bit mean. IMO, it should leave it\nto the worker (or executor) depending on what the request processor\nreturns','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1046,1048,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel)',NULL),(12100,'Most likely there was no content : we use the defaults.\nTODO : Enhance that !','Line','java/org/apache/catalina/servlets/WebdavServlet.java',419,420,'org.apache.catalina.servlets.WebdavServlet','init()','DESIGN'),(12101,'Most likely there was no content : we use the defaults.','Line','java/org/apache/catalina/servlets/WebdavServlet.java',412,412,'org.apache.catalina.servlets.WebdavServlet','init()',NULL),(12102,'using a dynamic way of setting properties is nice, but a security risk\nif exposed through JMX. This way you can sit and try to guess property names,\nwe will only allow explicit property names','Line','java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java',396,398,'org.apache.catalina.ha.tcp.SimpleTcpCluster','setProperty(String, Object)',NULL),(12103,'no reason to hide this - but good reasons to not hide','Line','java/org/apache/juli/logging/DirectJDKLog.java',34,34,'org.apache.juli.logging.DirectJDKLog','None',NULL),(12104,'maybe it wasn\'t included - the ugly default will be used.','Line','java/org/apache/juli/logging/DirectJDKLog.java',64,64,'org.apache.juli.logging.DirectJDKLog','isErrorEnabled()',NULL),(12105,'from commons logging. This would be my number one reason why java.util.logging\nis bad - design by comitee can be really bad ! The impact on performance of\nusing java.util.logging - and the ugliness if you need to wrap it - is far\nworse than the unfriendly and uncommon default format for logs.','Line','java/org/apache/juli/logging/DirectJDKLog.java',146,149,'org.apache.juli.logging.DirectJDKLog','log(Level, String, Throwable)',NULL),(12106,'Hack (?) to get the stack trace.','Line','java/org/apache/juli/logging/DirectJDKLog.java',153,153,'org.apache.juli.logging.DirectJDKLog','log(Level, String, Throwable)',NULL),(12107,'hack, somehow this is not being set above','Line','java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java',816,816,'org.apache.catalina.tribes.tipis.AbstractReplicatedMap','wrap(Member)',NULL),(12108,'Initialize SSL\nFIXME: one per VM call ?','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',653,654,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)','DESIGN'),(12109,'Initialize SSL if needed','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',651,651,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)',NULL),(12110,'SSL protocol','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',654,654,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)',NULL),(12111,'todo, determine if we even need these','Line','java/org/apache/coyote/http11/Http11NioProtocol.java',126,126,'org.apache.coyote.http11.Http11NioProtocol','setAttribute(String, Object)',NULL),(12112,'todo, set backlog value\nmimic APR behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',547,548,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel)',NULL),(12113,'todo, set backlog value\nmimic APR behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',538,539,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12114,'FIXME: Doesn\'t seem to work that well with multiple accept threads','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',552,552,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel)',NULL),(12115,'FIXME: Doesn\'t seem to work that well with multiple accept threads','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',543,543,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12116,'FIXME: closing in all these cases is a bit mean. IMO, it should leave it\nto the worker (or executor) depending on what the request processor\nreturns','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1147,1149,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel)',NULL),(12117,'FIXME: closing in all these cases is a bit mean. IMO, it should leave it\nto the worker (or executor) depending on what the request processor\nreturns','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1142,1144,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12118,'sun bug 5076772 on windows JDK 1.5','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1185,1185,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel)',NULL),(12119,'sun bug 5076772 on windows JDK 1.5','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1179,1179,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12120,'FIXME: closing in all these cases is a bit mean. IMO, it should leave it\nto the worker (or executor) depending on what the request processor\nreturns','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1143,1145,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)','DESIGN'),(12121,'the comet event takes care of clean up','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1142,1142,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12122,'Compares page encodings specified in various places, and throws\nexception in case of page encoding mismatch.\n\n@param pageDirEnc The value of the pageEncoding attribute of the page\ndirective @param pageDir The page directive node\n\n@throws JasperException in case of page encoding mismatch','Block','java/org/apache/jasper/compiler/Validator.java',375,383,'org.apache.jasper.compiler.Validator','visit(Node.IncludeDirective)',NULL),(12123,'Compare the \'pageEncoding\' attribute of the page directive with\nthe encoding specified in the XML prolog (only for XML syntax,\nand only if JSP document contains XML prolog with encoding\ndeclaration). Treat \\\"UTF-16\\\", \\\"UTF-16BE\\\", and \\\"UTF-16LE\\\" as\nidentical.','Block','java/org/apache/jasper/compiler/Validator.java',389,395,'org.apache.jasper.compiler.Validator','visit(Node.IncludeDirective)',NULL),(12124,'invalid chunk - it\'s better to ignore\nXXX log it ?','Line','java/org/apache/tomcat/util/http/Parameters.java',385,386,'org.apache.tomcat.util.http.Parameters','setQuery(MessageBytes)',NULL),(12125,'invalid chunk - it\'s better to ignore','Line','java/org/apache/tomcat/util/http/Parameters.java',386,386,'org.apache.tomcat.util.http.Parameters','setQuery(MessageBytes)',NULL),(12126,'temporary fix for thread hand off problem','Line','java/org/apache/catalina/tribes/transport/ThreadPool.java',59,59,'org.apache.catalina.tribes.transport.ThreadPool','setupThread(WorkerThread)',NULL),(12127,'temporary fix for thread hand off problem','Line','java/org/apache/catalina/tribes/transport/RxTaskPool.java',59,59,'org.apache.catalina.tribes.transport.RxTaskPool','setupThread(WorkerThread)','NOT_DESIGN'),(12128,'None','None','java/org/apache/catalina/tribes/transport/RxTaskPool.java',-1,-1,'None','None',NULL),(12129,'If the line contains the opening of a multi-line scriptlet\nblock, then the JSP line number we got back is probably\nfaulty.  Scan forward to match the java line...','Line','java/org/apache/jasper/servlet/JspServletWrapper.java',528,530,'org.apache.jasper.servlet.JspServletWrapper','handleJspException(Exception)',NULL),(12130,'If the line contains the opening of a multi-line scriptlet\nblock, then the JSP line number we got back is probably\nfaulty.  Scan forward to match the java line...','Line','java/org/apache/jasper/compiler/JavacErrorDetail.java',105,107,'org.apache.jasper.compiler.JavacErrorDetail','getJavaFileName()',NULL),(12131,'FIXME Exception handling needs to be simpiler to what is in the StandardWrapperValue','Line','java/org/apache/catalina/core/ApplicationDispatcher.java',735,735,'org.apache.catalina.core.ApplicationDispatcher','invoke(ServletRequest, ServletResponse)',NULL),(12132,'FIXME Exception handling needs to be simpiler to what is in the StandardWrapperValue','Line','java/org/apache/catalina/core/ApplicationDispatcher.java',739,739,'org.apache.catalina.core.ApplicationDispatcher','invoke(ServletRequest, ServletResponse, State)',NULL),(12133,'KLUDGE - Make nested RD.forward() using invoker work','Line','java/org/apache/catalina/core/ApplicationDispatcher.java',881,881,'org.apache.catalina.core.ApplicationDispatcher','wrapRequest()',NULL),(12134,'KLUDGE - Make nested RD.forward() using invoker work','Line','java/org/apache/catalina/core/ApplicationDispatcher.java',865,865,'org.apache.catalina.core.ApplicationDispatcher','wrapRequest(State)',NULL),(12135,'try catch in case toString() barfs','Block','java/org/apache/catalina/valves/AccessLogValve.java',957,957,'org.apache.catalina.valves.AccessLogValve','replace(String, char, Request, Response)','NOT_DESIGN'),(12136,'None','None','java/org/apache/catalina/valves/AccessLogValve.java',-1,-1,'None','None',NULL),(12137,'Move past the (','Block','java/org/apache/catalina/valves/ExtendedAccessLogValve.java',1234,1234,'org.apache.catalina.valves.ExtendedAccessLogValve','decode(String, int, FieldInfo, short)','NOT_DESIGN'),(12138,'None','None','java/org/apache/catalina/valves/ExtendedAccessLogValve.java',-1,-1,'None','None',NULL),(12139,'Move pointer past ) */','Line','java/org/apache/catalina/valves/ExtendedAccessLogValve.java',1241,1241,'org.apache.catalina.valves.ExtendedAccessLogValve','decode(String, int, FieldInfo, short)','NOT_DESIGN'),(12140,'Move past \'x-\'','Block','java/org/apache/catalina/valves/ExtendedAccessLogValve.java',1269,1269,'org.apache.catalina.valves.ExtendedAccessLogValve','decodeAppSpecific(String, int, FieldInfo)','NOT_DESIGN'),(12141,'Move inside of the ()','Block','java/org/apache/catalina/valves/ExtendedAccessLogValve.java',1305,1305,'org.apache.catalina.valves.ExtendedAccessLogValve','decodeAppSpecific(String, int, FieldInfo)','NOT_DESIGN'),(12142,'todo, set backlog value\nmimic APR behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',536,537,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12143,'todo, set backlog value\nmimic APR behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',596,597,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)','NOT_DESIGN'),(12144,'FIXME: Doesn\'t seem to work that well with multiple accept threads','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',541,541,'org.apache.tomcat.util.net.NioEndpoint','offer(NioChannel, KeyAttachment)',NULL),(12145,'FIXME: Doesn\'t seem to work that well with multiple accept threads','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',601,601,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)',NULL),(12146,'sun bug 5076772 on windows JDK 1.5','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1239,1239,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)',NULL),(12147,'this sucker here dead locks with the count down latch\nsince this call is blocking if no threads are available.\nTODO: FIXME BIG TIME','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1273,1275,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)','DESIGN'),(12148,'mimic APR behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',597,597,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)',NULL),(12149,'later on, improve latch behavior','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1301,1301,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)',NULL),(12150,'reregister it','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1309,1309,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)',NULL),(12151,'Hand this socket off to an appropriate processor\nTODO FIXME - this is currently a blocking call, meaning we will be blocking\nfurther accepts until there is a thread available.','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1033,1035,'org.apache.tomcat.util.net.NioEndpoint','offer(KeyAttachment)',NULL),(12152,'there could have been contention around the queue','Line','java/org/apache/catalina/core/StandardThreadExecutor.java',67,67,'org.apache.catalina.core.StandardThreadExecutor','start()',NULL),(12153,'Tapestry 3.0: Engine stored in session under \\\"org.apache.tapestry.engine:\\\" + config.getServletName()\nTODO: Tapestry 4+','Line','java/org/apache/catalina/manager/util/SessionUtils.java',106,107,'org.apache.catalina.manager.util.SessionUtils','guessLocaleFromSession(HttpSession)',NULL),(12154,'This workaround for JDK 1.3 compatibility. For JDK 1.4+, use previous (commented) instanceof.','Line','java/org/apache/catalina/manager/util/SessionUtils.java',211,211,'org.apache.catalina.manager.util.SessionUtils','guessUserFromSession(Session)','DESIGN'),(12155,'Shouldn\'t happen, but let\'s play nice...','Line','java/org/apache/catalina/manager/HTMLManagerServlet.java',747,747,'org.apache.catalina.manager.HTMLManagerServlet','doGet(HttpServletRequest, HttpServletResponse)',NULL),(12156,'TODO: complete this to TTL, etc.','Line','java/org/apache/catalina/manager/HTMLManagerServlet.java',886,886,'org.apache.catalina.manager.HTMLManagerServlet','doGet(HttpServletRequest, HttpServletResponse)',NULL),(12157,'FIXME: Exception handling needs to be simpiler to what is in the StandardWrapperValue','Line','java/org/apache/catalina/core/ApplicationDispatcher.java',706,706,'org.apache.catalina.core.ApplicationDispatcher','invoke(ServletRequest, ServletResponse, State)',NULL),(12158,'Expect file URLs\nThis is definitely not as clean as using JAR URLs either\nover file or the custom jndi handler, but a lot less\nbuggy overall','Line','java/org/apache/catalina/startup/TldConfig.java',677,680,'org.apache.catalina.startup.TldConfig','getJarPaths()','DESIGN'),(12159,'Expect file URLs, these are %xx encoded or not depending on\nthe class loader\nThis is definitely not as clean as using JAR URLs either\nover file or the custom jndi handler, but a lot less\nbuggy overall','Line','java/org/apache/catalina/startup/TldConfig.java',688,692,'org.apache.catalina.startup.TldConfig','getJarPaths()',NULL),(12160,'Ignore, probably an unencoded char','Line','java/org/apache/catalina/startup/TldConfig.java',697,697,'org.apache.catalina.startup.TldConfig','getJarPaths()',NULL),(12161,'Ignore, probably an unencoded char','Line','java/org/apache/catalina/startup/TldConfig.java',435,435,'org.apache.catalina.startup.TldConfig','tldScanJar(String)',NULL),(12162,'FIXME: Since there\'s likely some structures kept in the servlet or elsewhere,\na cleanup event of some sort could be needed ?','Line','java/org/apache/catalina/connector/CoyoteAdapter.java',177,178,'org.apache.catalina.connector.CoyoteAdapter','event(org.apache.coyote.Request, org.apache.coyote.Response, SocketStatus)','DESIGN'),(12163,'None','None','java/org/apache/catalina/connector/CoyoteAdapter.java',-1,-1,'None','None',NULL),(12164,'FIXME: Find an appropriate timeout value, for now, \\\"longer than usual\\\"\nsemms appropriate','Line','java/org/apache/tomcat/util/net/AprEndpoint.java',1164,1165,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)','NOT_DESIGN'),(12165,'FIXME: remove also inuse senders. but then we must synch with sendMessage!','Line','java/org/apache/catalina/tribes/transport/PooledSender.java',152,152,'org.apache.catalina.tribes.transport.PooledSender','remove(Member)','DESIGN'),(12166,'None','None','java/org/apache/catalina/tribes/transport/PooledSender.java',-1,-1,'None','None',NULL),(12167,'BZ 42449 - Kludge Sun\'s LDAP provider\nwith broken SSL','Block','java/org/apache/catalina/realm/JNDIRealm.java',812,814,'org.apache.catalina.realm.JNDIRealm','authenticate(String, String)',NULL),(12168,'TODO notify poller','Line','java/org/apache/catalina/connector/CometEventImpl.java',149,149,'org.apache.catalina.connector.CometEventImpl','register(CometEvent.CometOperation...)',NULL),(12169,'XXX Use host in name','Line','java/org/apache/catalina/core/StandardContext.java',1464,1464,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12170,'XXX Use host in name','Line','java/org/apache/catalina/core/StandardContext.java',1467,1467,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12171,'FIXME - add instance if already started?','Line','java/org/apache/catalina/core/StandardContext.java',1957,1957,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12172,'FIXME - add instance if already started?','Line','java/org/apache/catalina/core/StandardContext.java',1960,1960,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12173,'FIXME: Older spec revisions may still check this','Line','java/org/apache/catalina/core/StandardContext.java',2159,2159,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12174,'FIXME: Older spec revisions may still check this','Line','java/org/apache/catalina/core/StandardContext.java',2162,2162,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12175,'FIXME - behavior if already started?','Line','java/org/apache/catalina/core/StandardContext.java',3128,3128,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12176,'FIXME - behavior if already started?','Line','java/org/apache/catalina/core/StandardContext.java',3131,3131,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12177,'As things depend on the JMX registration, the context\nmust be reregistered again once properly initialized','Line','java/org/apache/catalina/core/StandardContext.java',4083,4084,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12178,'As things depend on the JMX registration, the context\nmust be reregistered again once properly initialized','Line','java/org/apache/catalina/core/StandardContext.java',4076,4077,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12179,'Look for a realm - that may have been configured earlier.\nIf the realm is added after context - it\'ll set itself.\nTODO: what is the use case for this ?','Line','java/org/apache/catalina/core/StandardContext.java',4116,4118,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12180,'Look for a realm - that may have been configured earlier.\nIf the realm is added after context - it\'ll set itself.\nTODO: what is the use case for this ?','Line','java/org/apache/catalina/core/StandardContext.java',4109,4111,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12181,'We could do it the hard way...','Line','java/org/apache/catalina/core/StandardContext.java',5252,5252,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12182,'We could do it the hard way...','Line','java/org/apache/catalina/core/StandardContext.java',5284,5284,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12183,'XXX The service and domain should be the same.','Line','java/org/apache/catalina/core/StandardContext.java',5335,5335,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12184,'XXX The service and domain should be the same.','Line','java/org/apache/catalina/core/StandardContext.java',5367,5367,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12185,'FIXME: i18n','Line','java/org/apache/catalina/core/StandardContext.java',5364,5364,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12186,'FIXME: i18n','Line','java/org/apache/catalina/core/StandardContext.java',5396,5396,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12187,'TODO notify poller','Line','java/org/apache/catalina/connector/CometEventImpl.java',151,151,'org.apache.catalina.connector.CometEventImpl','register(CometEvent.CometOperation...)','NOT_DESIGN'),(12188,'add it to the registered set','Line','java/org/apache/catalina/connector/CometEventImpl.java',159,159,'org.apache.catalina.connector.CometEventImpl','register(CometEvent.CometOperation...)',NULL),(12189,'sun bug 5076772 on windows JDK 1.5','Line','java/org/apache/tomcat/util/net/NioBlockingSelector.java',275,275,'org.apache.tomcat.util.net.NioBlockingSelector','run()',NULL),(12190,'search for cc but skip \\cc as required by rfc2616\n(according to rfc2616 cc should be \\\")','Block','java/org/apache/tomcat/util/http/Cookies.java',340,343,'org.apache.tomcat.util.http.Cookies','setHeaders(MimeHeaders)','NOT_DESIGN'),(12191,'XXX We will need to order by q value Vector in the Future ?','Line','java/org/apache/tomcat/util/http/AcceptLanguage.java',128,128,'org.apache.tomcat.util.http.AcceptLanguage','extractLocales(Hashtable, Vector, Vector)',NULL),(12192,'XXX We will need to order by q value Vector in the Future ?','Line','java/org/apache/tomcat/util/http/AcceptLanguage.java',131,131,'org.apache.tomcat.util.http.AcceptLanguage','extractLocales(Hashtable, Vector, Vector<Locale>)',NULL),(12193,'XXX use only one Date instance/request, reuse it.','Line','java/org/apache/catalina/util/CookieTools.java',26,26,'None','None','DESIGN'),(12194,'None','None','java/org/apache/catalina/util/CookieTools.java',-1,-1,'None','None',NULL),(12195,'Use a string buffer for better performance','Line','java/org/apache/juli/JdkLoggerFormatter.java',63,63,'org.apache.juli.JdkLoggerFormatter','format(LogRecord)',NULL),(12196,'fix the synchronization scenario due to\ndual comet flags.\nwhile the response/request\nmight already be recycled, this circumvents the bug\nand should not be an expensive operation\nhowever, this is a TODO and FIXME\nas it would be better coordinate the recycling of the request/response\ninstead','Line','java/org/apache/coyote/http11/Http11NioProcessor.java',992,999,'org.apache.coyote.http11.Http11NioProcessor','recycle()',NULL),(12197,'Set the property (with conversion as necessary)\nFIXME: Exception if property doesn\'t exist ?','Line','java/org/apache/tomcat/util/digester/SetPropertyRule.java',127,128,'org.apache.tomcat.util.digester.SetPropertyRule','begin(Attributes)','DESIGN'),(12198,'Set the property (with conversion as necessary)','Line','java/org/apache/tomcat/util/digester/SetPropertyRule.java',127,127,'org.apache.tomcat.util.digester.SetPropertyRule','begin(Attributes)',NULL),(12199,'<= Servlet API 2.4\nif ((servletNames.length == 0) && (urlPatterns.length == 0))\nServlet API 2.5 (FIX 43338)\nSRV 6.2.5 says supporting for \'*\' as the servlet-name in filter-mapping.','Line','java/org/apache/catalina/core/StandardContext.java',2159,2162,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12200,'XXX TODO','Line','java/org/apache/tomcat/util/http/Cookies.java',277,277,'org.apache.tomcat.util.http.Cookies','setHeaders(MimeHeaders)','NOT_DESIGN'),(12201,'None','None','java/org/apache/tomcat/util/http/Cookies.java',-1,-1,'None','None',NULL),(12202,'search from the next position','Line','java/org/apache/tomcat/util/http/Cookies.java',202,202,'org.apache.tomcat.util.http.Cookies','setHeaders(MimeHeaders)',NULL),(12203,'XXX will be refactored soon!','Line','java/org/apache/tomcat/util/http/Cookies.java',206,206,'org.apache.tomcat.util.http.Cookies','setHeaders(MimeHeaders)',NULL),(12204,'TODO: See if we need to call the maintain for sendfile poller','Block','java/org/apache/tomcat/util/net/AprEndpoint.java',1813,1813,'org.apache.tomcat.util.net.AprEndpoint','setExecutor(Executor)','NOT_DESIGN'),(12205,'using a dynamic way of setting properties is nice, but a security risk\nif exposed through JMX. This way you can sit and try to guess property names,\nwe will only allow explicit property names','Line','java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java',423,425,'org.apache.catalina.ha.tcp.SimpleTcpCluster','setProperty(String, Object)','DESIGN'),(12206,'None','None','java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java',-1,-1,'None','None',NULL),(12207,'FIXME Hmm, is that correct when some DeltaManagers are direct configured inside Context?\nWhy we not support it for other elements, like sender, receiver or membership?\nMust we restart element after change?','Line','java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java',428,430,'org.apache.catalina.ha.tcp.SimpleTcpCluster','setProperty(String, Object)','DESIGN'),(12208,'XXX CommentURL, Port -> use notes ?','Line','java/org/apache/tomcat/util/http/ServerCookie.java',56,56,'org.apache.tomcat.util.http.ServerCookie','None','DESIGN'),(12209,'None','None','java/org/apache/tomcat/util/http/ServerCookie.java',-1,-1,'None','None',NULL),(12210,'XXX XXX XXX We need to send both, for\ninteroperatibility (long word )','Line','java/org/apache/tomcat/util/http/ServerCookie.java',255,256,'org.apache.tomcat.util.http.ServerCookie','recycle()','NOT_DESIGN'),(12211,'Wdy, DD-Mon-YY HH:MM:SS GMT ( Expires Netscape format )','Line','java/org/apache/tomcat/util/http/ServerCookie.java',268,268,'org.apache.tomcat.util.http.ServerCookie','appendCookieValue(StringBuffer, int, String, String, String, String, String, int, boolean)',NULL),(12212,'Version 1 (RFC2965) attributes\nTODO Add support for CommentURL\nDiscard - implied by maxAge <0\nTODO Add support for Port','Line','java/org/apache/tomcat/util/http/ServerCookie.java',60,63,'org.apache.tomcat.util.http.ServerCookie','None',NULL),(12213,'rfc2019\nrfc2965\nrfc2019\nNetscape\nrfc2019\nrfc2019\nrfc2019\nrfc2019\nTODO remaining RFC2965 attributes','Line','java/org/apache/tomcat/util/http/ServerCookie.java',180,188,'org.apache.tomcat.util.http.ServerCookie','recycle()',NULL),(12214,'TODO Re-enable logging when RFC2965 is implemented','Line','java/org/apache/tomcat/util/http/ServerCookie.java',209,209,'org.apache.tomcat.util.http.ServerCookie','recycle()',NULL),(12215,'TODO RFC2965 fields also need to be passed','Line','java/org/apache/tomcat/util/http/ServerCookie.java',228,228,'org.apache.tomcat.util.http.ServerCookie','appendCookieValue(StringBuffer, int, String, String, String, String, String, int, boolean)',NULL),(12216,'Max-Age=secs ... or use old \\\"Expires\\\" format\nTODO RFC2965 Discard','Line','java/org/apache/tomcat/util/http/ServerCookie.java',264,265,'org.apache.tomcat.util.http.ServerCookie','appendCookieValue(StringBuffer, int, String, String, String, String, String, int, boolean)',NULL),(12217,'sun bug 5076772 on windows JDK 1.5','Line','java/org/apache/tomcat/util/net/NioBlockingSelector.java',310,310,'org.apache.tomcat.util.net.NioBlockingSelector','run()',NULL),(12218,'FIXME: Older spec revisions may still check this','Line','java/org/apache/catalina/core/StandardContext.java',2168,2168,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12219,'FIXME - behavior if already started?','Line','java/org/apache/catalina/core/StandardContext.java',3141,3141,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12220,'As things depend on the JMX registration, the context\nmust be reregistered again once properly initialized','Line','java/org/apache/catalina/core/StandardContext.java',4096,4097,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12221,'As things depend on the JMX registration, the context\nmust be reregistered again once properly initialized','Line','java/org/apache/catalina/core/StandardContext.java',4086,4087,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12222,'Look for a realm - that may have been configured earlier.\nIf the realm is added after context - it\'ll set itself.\nTODO: what is the use case for this ?','Line','java/org/apache/catalina/core/StandardContext.java',4129,4131,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12223,'Look for a realm - that may have been configured earlier.\nIf the realm is added after context - it\'ll set itself.\nTODO: what is the use case for this ?','Line','java/org/apache/catalina/core/StandardContext.java',4119,4121,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12224,'We could do it the hard way...','Line','java/org/apache/catalina/core/StandardContext.java',5265,5265,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12225,'We could do it the hard way...','Line','java/org/apache/catalina/core/StandardContext.java',5294,5294,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12226,'XXX The service and domain should be the same.','Line','java/org/apache/catalina/core/StandardContext.java',5348,5348,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12227,'XXX The service and domain should be the same.','Line','java/org/apache/catalina/core/StandardContext.java',5377,5377,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12228,'FIXME: i18n','Line','java/org/apache/catalina/core/StandardContext.java',5377,5377,'org.apache.catalina.core.StandardContext','getAnnotationProcessor()',NULL),(12229,'FIXME: i18n','Line','java/org/apache/catalina/core/StandardContext.java',5406,5406,'org.apache.catalina.core.StandardContext','getInstanceManager()',NULL),(12230,'using a dynamic way of setting properties is nice, but a security risk\nif exposed through JMX. This way you can sit and try to guess property names,\nwe will only allow explicit property names','Line','java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java',424,426,'org.apache.catalina.ha.tcp.SimpleTcpCluster','setProperty(String, Object)',NULL),(12231,'PureTLSSupport\n\nConcrete implementation class for PureTLS\nSupport classes.\n\nThis will only work with JDK 1.2 and up since it\ndepends on JDK 1.2\'s certificate support\n\n@author EKR','Block','java/org/apache/tomcat/util/net/puretls/PureTLSSupport.java',34,43,'None','None',NULL),(12232,'TODO should we auto increment the UDP port to avoid collisions?\nwe could auto increment with the offset from the tcp listen port','Line','java/org/apache/catalina/tribes/transport/nio/NioReceiver.java',148,149,'org.apache.catalina.tribes.transport.nio.NioReceiver','getInfo()','DESIGN'),(12233,'bind to the address to avoid security checks','Line','java/org/apache/catalina/tribes/transport/nio/NioReceiver.java',146,146,'org.apache.catalina.tribes.transport.nio.NioReceiver','getInfo()',NULL),(12234,'error free close, all the way','Line','java/org/apache/catalina/tribes/transport/nio/NioSender.java',266,266,'org.apache.catalina.tribes.transport.nio.NioSender','disconnect()',NULL),(12235,'always disconnect UDP, TODO optimize the keepalive handling','Line','java/org/apache/catalina/tribes/transport/AbstractSender.java',119,119,'org.apache.catalina.tribes.transport.AbstractSender','keepalive()',NULL),(12236,'were using a shared channel, it\'s not thread safe\nTODO check optimization, one channel per thread','Line','java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java',311,312,'org.apache.catalina.tribes.transport.nio.NioReplicationTask','sendAck(SelectionKey, WritableByteChannel, byte[], SocketAddress)',NULL),(12237,'were using a shared channel, document says its thread safe\nTODO check optimization, one channel per thread?','Line','java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java',311,312,'org.apache.catalina.tribes.transport.nio.NioReplicationTask','sendAck(SelectionKey, WritableByteChannel, byte[], SocketAddress)',NULL),(12238,'XXX go directly','Line','java/org/apache/tomcat/util/buf/B2CConverter.java',105,105,'org.apache.tomcat.util.buf.B2CConverter','recycle()','NOT_DESIGN'),(12239,'None','None','java/org/apache/tomcat/util/buf/B2CConverter.java',-1,-1,'None','None',NULL),(12240,'Scans the web application\'s subdirectory identified by rootPath,\nalong with its subdirectories, for TLDs.\n\nInitially, rootPath equals /WEB-INF. The /WEB-INF/classes and\n/WEB-INF/lib subdirectories are excluded from the search, as per the\nJSP 2.0 spec.\n\n@param resources The web application\'s resources\n@param rootPath The path whose subdirectories are to be searched for\nTLDs\n@param tldPaths The set of TLD resource paths to add to','Block','java/org/apache/catalina/startup/TldConfig.java',611,623,'org.apache.catalina.startup.TldConfig','tldScanResourcePathsWebInf(DirContext, String, Set)',NULL),(12241,'Scans the web application\'s subdirectory identified by rootPath,\nalong with its subdirectories, for TLDs.\n\nInitially, rootPath equals /WEB-INF. The /WEB-INF/classes and\n/WEB-INF/lib subdirectories are excluded from the search, as per the\nJSP 2.0 spec.\n\n@param resources The web application\'s resources\n@param rootPath The path whose subdirectories are to be searched for\nTLDs\n@param tldPaths The set of TLD resource paths to add to','Block','java/org/apache/catalina/startup/TldConfig.java',605,617,'org.apache.catalina.startup.TldConfig','tldScanResourcePathsWebInf(DirContext, String, Set<String>)',NULL),(12242,'Ignore, probably an unencoded char','Line','java/org/apache/catalina/startup/TldConfig.java',691,691,'org.apache.catalina.startup.TldConfig','File> getJarPaths()',NULL),(12243,'TODO use ByteBuffer.wrap to avoid copying the data.','Line','java/org/apache/catalina/tribes/transport/nio/NioSender.java',342,342,'org.apache.catalina.tribes.transport.nio.NioSender','setMessage(byte[], int, int)',NULL),(12244,'Swap out all sessions idle longer than maxIdleSwap\nFIXME: What\'s preventing us from mangling a session during\na request?','Line','java/org/apache/catalina/session/PersistentManagerBase.java',1026,1028,'org.apache.catalina.session.PersistentManagerBase','processMaxIdleSwaps()','DESIGN'),(12245,'Swap out all sessions idle longer than maxIdleSwap','Line','java/org/apache/catalina/session/PersistentManagerBase.java',1043,1043,'org.apache.catalina.session.PersistentManagerBase','processMaxIdleSwaps()',NULL),(12246,'Replace \\\"\\$\\\" with some special char. XXX hack!','Line','java/org/apache/jasper/compiler/Parser.java',287,287,'org.apache.jasper.compiler.Parser','parseQuoted(String)',NULL),(12247,'Replace \\\"\\$\\\" with some special char. XXX hack!','Line','java/org/apache/jasper/compiler/Parser.java',289,289,'org.apache.jasper.compiler.Parser','parseQuoted(Mark, String, char)',NULL),(12248,'TODO: allow contexts without a base dir - i.e.\nonly programmatic. This would disable the default servlet.','Line','java/org/apache/catalina/startup/Tomcat.java',54,55,'None','None',NULL),(12249,'TODO: it\'s easy to add support for more hosts - but is it\nreally needed ?','Line','java/org/apache/catalina/startup/Tomcat.java',96,97,'org.apache.catalina.startup.Tomcat','None',NULL),(12250,'TODO: allow use of in-memory connector','Line','java/org/apache/catalina/startup/Tomcat.java',99,99,'org.apache.catalina.startup.Tomcat','None',NULL),(12251,'TODO: read mime from /etc/mime.types on linux, or some\nresource','Line','java/org/apache/catalina/startup/Tomcat.java',555,556,'org.apache.catalina.startup.Tomcat','setBaseDir(String)',NULL),(12252,'TODO: set a default realm, add simple API to add users','Line','java/org/apache/catalina/startup/Tomcat.java',567,567,'org.apache.catalina.startup.Tomcat','setBaseDir(String)',NULL),(12253,'wEnv sometime null at shutdown - bug45591','Line','java/org/apache/jk/server/JkMain.java',679,679,'org.apache.jk.server.JkMain','pause()',NULL),(12254,'Possible ways of getting here\nsocket.accept() throws a SecurityException\nsocket.setSoTimeout() throws a SocketException\nsocket.accept() throws some other exception (after a JDK change)\nIn these cases the test won\'t work so carry on - essentially\nthe behaviour before this patch\nsocket.accept() throws a SocketTimeoutException\nIn this case all is well so carry on','Block','java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java',739,748,'org.apache.tomcat.util.net.jsse.JSSESocketFactory','checkConfig()','DESIGN'),(12255,'XXX','Line','java/org/apache/jasper/runtime/JspContextWrapper.java',279,279,'org.apache.jasper.runtime.JspContextWrapper','include(String, boolean)','NOT_DESIGN'),(12256,'None','None','java/org/apache/jasper/runtime/JspContextWrapper.java',-1,-1,'None','None',NULL),(12257,'TODO TODO - check on thread safety, for writing and for getting last request.','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',135,135,'org.apache.tomcat.bayeux.ClientImpl','deliverInternal(ChannelImpl, Message[])',NULL),(12258,'todo, figure out a better way, this means only one message gets delivered\nand delivered instantly','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',152,153,'org.apache.tomcat.bayeux.ClientImpl','deliverInternal(ChannelImpl, Message[])',NULL),(12259,'noop until improved','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',272,272,'org.apache.tomcat.bayeux.ClientImpl','startBatch()',NULL),(12260,'noop until improved','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',275,275,'org.apache.tomcat.bayeux.ClientImpl','endBatch()',NULL),(12261,'FIXME: setId trigger session Listener, but only chance to registiert manager with correct id!','Line','java/org/apache/catalina/ha/session/JvmRouteBinderValve.java',357,357,'org.apache.catalina.ha.session.JvmRouteBinderValve','changeSessionID(Request, Response, String, String, Session)',NULL),(12262,'FIXME: Why we remove change data from other running request?\nsetId also trigger resetDeltaRequest!!','Line','java/org/apache/catalina/ha/session/JvmRouteBinderValve.java',359,360,'org.apache.catalina.ha.session.JvmRouteBinderValve','changeSessionID(Request, Response, String, String, Session)',NULL),(12263,'TODO RFC2965 fields also need to be passed','Line','java/org/apache/tomcat/util/http/ServerCookie.java',251,251,'org.apache.tomcat.util.http.ServerCookie','appendCookieValue(StringBuffer, int, String, String, String, String, String, int, boolean)',NULL),(12264,'Max-Age=secs ... or use old \\\"Expires\\\" format\nTODO RFC2965 Discard','Line','java/org/apache/tomcat/util/http/ServerCookie.java',288,289,'org.apache.tomcat.util.http.ServerCookie','appendCookieValue(StringBuffer, int, String, String, String, String, String, int, boolean)',NULL),(12265,'Max-Age=secs ... or use old \\\"Expires\\\" format\nTODO RFC2965 Discard','Line','java/org/apache/tomcat/util/http/ServerCookie.java',289,290,'org.apache.tomcat.util.http.ServerCookie','appendCookieValue(StringBuffer, int, String, String, String, String, String, int, boolean, boolean)',NULL),(12266,'XXX - We use a proprietary call to the interpreter for now\nas the current standard machinery is inefficient and requires\nlots of wrappers and adapters.  This should all clear up once\nthe EL interpreter moves out of JSTL and into its own project.\nIn the future, this should be replaced by code that calls\nExpressionEvaluator.parseExpression() and then cache the resulting\nexpression objects.  The interpreterCall would simply select\none of the pre-cached expressions and evaluate it.\nNote that PageContextImpl implements VariableResolver and\nthe generated Servlet/SimpleTag implements FunctionMapper, so\nthat machinery is already in place (mroth).','Line','java/org/apache/jasper/compiler/JspUtil.java',538,548,'org.apache.jasper.compiler.JspUtil','interpreterCall(boolean, String, Class, String, boolean)','DESIGN'),(12267,'Build up the base call to the interpreter.','Block','java/org/apache/jasper/compiler/JspUtil.java',533,535,'org.apache.jasper.compiler.JspUtil','interpreterCall(boolean, String, Class<?>, String, boolean)',NULL),(12268,'XXX - We use a proprietary call to the interpreter for now\nas the current standard machinery is inefficient and requires\nlots of wrappers and adapters. This should all clear up once\nthe EL interpreter moves out of JSTL and into its own project.\nIn the future, this should be replaced by code that calls\nExpressionEvaluator.parseExpression() and then cache the resulting\nexpression objects. The interpreterCall would simply select\none of the pre-cached expressions and evaluate it.\nNote that PageContextImpl implements VariableResolver and\nthe generated Servlet/SimpleTag implements FunctionMapper, so\nthat machinery is already in place (mroth).','Line','java/org/apache/jasper/compiler/JspUtil.java',536,546,'org.apache.jasper.compiler.JspUtil','interpreterCall(boolean, String, Class<?>, String, boolean)',NULL),(12269,'Add the primitive converter method if we need to.','Block','java/org/apache/jasper/compiler/JspUtil.java',557,559,'org.apache.jasper.compiler.JspUtil','interpreterCall(boolean, String, Class<?>, String, boolean)',NULL),(12270,'XXX ESC replacement hack','Line','java/org/apache/jasper/compiler/Generator.java',812,812,'org.apache.jasper.compiler.Generator','quote(String)','DESIGN'),(12271,'None','None','java/org/apache/jasper/compiler/Generator.java',-1,-1,'None','None',NULL),(12272,'XXX hack: Replace ESC with \'$\'','Line','java/org/apache/jasper/compiler/Generator.java',2847,2847,'org.apache.jasper.compiler.Generator','quote(String)','DESIGN'),(12273,'Replace \\\"\\$\\\" with some special char. XXX hack!','Line','java/org/apache/jasper/compiler/Parser.java',294,294,'org.apache.jasper.compiler.Parser','parseQuoted(Mark, String, char)','DESIGN'),(12274,'None','None','java/org/apache/jasper/compiler/Parser.java',-1,-1,'None','None',NULL),(12275,'Looking for \\% or \\$ or \\#\nTODO: only recognize \\$ or \\# if isELIgnored is false, but since\nit can be set in a page directive, it cannot be determined\nhere. Argh! (which is the way it should be since we shouldn\'t\nconvolude multiple steps at once and create confusing parsers...)','Line','java/org/apache/jasper/compiler/Parser.java',1341,1345,'org.apache.jasper.compiler.Parser','parseTemplateText(Node)','DESIGN'),(12276,'Looking for \\% or \\$ or \\#','Line','java/org/apache/jasper/compiler/Parser.java',1351,1351,'org.apache.jasper.compiler.Parser','parseTemplateText(Node)',NULL),(12277,'The setting of isELIgnored changes the behaviour of the parser\nin subtle ways. To add to the \'fun\', isELIgnored can be set in\nany file that forms part of the translation unit so setting it\nin a file included towards the end of the translation unit can\nchange how the parser should have behaved when parsing content\nup to the point where isELIgnored was set. Arghh!\nPrevious attempts to hack around this have only provided partial\nsolutions. We now use two passes to parse the translation unit.\nThe first just parses the directives and the second parses the\nwhole translation unit once we know how isELIgnored has been set.\nTODO There are some possible optimisations of this process.','Block','java/org/apache/jasper/compiler/Compiler.java',148,160,'org.apache.jasper.compiler.Compiler','generateJava()',NULL),(12278,'XXX replace it with a byte[] tool','Line','java/org/apache/tomcat/util/buf/MessageBytes.java',556,556,'org.apache.tomcat.util.buf.MessageBytes','newInstance()','NOT_DESIGN'),(12279,'None','None','java/org/apache/tomcat/util/buf/MessageBytes.java',-1,-1,'None','None',NULL),(12280,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',155,156,'org.apache.tomcat.jdbc.pool.ConnectionPool','None',NULL),(12281,'TODO','Line','java/org/apache/tomcat/jdbc/pool/PooledConnection.java',207,207,'org.apache.tomcat.jdbc.pool.PooledConnection','release()',NULL),(12282,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',155,156,'org.apache.tomcat.jdbc.pool.ConnectionPool','None',NULL),(12283,'TODO','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java',207,207,'org.apache.tomcat.jdbc.pool.PooledConnection','release()','NOT_DESIGN'),(12284,'None','None','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java',-1,-1,'None','None',NULL),(12285,'KLUDGE - Make nested RD.forward() using invoker work','Line','java/org/apache/catalina/core/ApplicationDispatcher.java',828,828,'org.apache.catalina.core.ApplicationDispatcher','wrapRequest(State)','NOT_DESIGN'),(12286,'None','None','java/org/apache/catalina/core/ApplicationDispatcher.java',-1,-1,'None','None',NULL),(12287,'This should probably be called later','Line','java/org/apache/catalina/connector/MapperListener.java',318,318,'org.apache.catalina.connector.MapperListener','registerEngine()',NULL),(12288,'TODO TODO - check on thread safety, for writing and for getting last request.','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',136,136,'org.apache.tomcat.bayeux.ClientImpl','deliverInternal(ChannelImpl, Message[])',NULL),(12289,'TODO TODO - check on thread safety, for writing and for getting last request.','Line','modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java',136,136,'org.apache.tomcat.bayeux.ClientImpl','deliverInternal(ChannelImpl, Message[])',NULL),(12290,'todo, figure out a better way, this means only one message gets delivered\nand delivered instantly','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',153,154,'org.apache.tomcat.bayeux.ClientImpl','deliverInternal(ChannelImpl, Message[])',NULL),(12291,'todo, figure out a better way, this means only one message gets delivered\nand delivered instantly','Line','modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java',153,154,'org.apache.tomcat.bayeux.ClientImpl','deliverInternal(ChannelImpl, Message[])',NULL),(12292,'noop until improved','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',273,273,'org.apache.tomcat.bayeux.ClientImpl','startBatch()',NULL),(12293,'noop until improved','Line','modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java',273,273,'org.apache.tomcat.bayeux.ClientImpl','startBatch()',NULL),(12294,'noop until improved','Line','java/org/apache/tomcat/bayeux/ClientImpl.java',276,276,'org.apache.tomcat.bayeux.ClientImpl','endBatch()',NULL),(12295,'noop until improved','Line','modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java',276,276,'org.apache.tomcat.bayeux.ClientImpl','endBatch()',NULL),(12296,'todo, determine if we even need these','Line','java/org/apache/coyote/http11/Http11NioProtocol.java',135,135,'org.apache.coyote.http11.Http11NioProtocol','setAttribute(String, Object)','DESIGN'),(12297,'None','None','java/org/apache/coyote/http11/Http11NioProtocol.java',-1,-1,'None','None',NULL),(12298,'rfc2019\nrfc2965\nrfc2019\nNetscape\nrfc2019\nrfc2019\nrfc2019\nrfc2019\nTODO remaining RFC2965 attributes','Line','java/org/apache/tomcat/util/http/ServerCookie.java',219,227,'org.apache.tomcat.util.http.ServerCookie','checkName(String)','NOT_DESIGN'),(12299,'-------------------- Cookie parsing tools','Line','java/org/apache/tomcat/util/http/ServerCookie.java',214,214,'org.apache.tomcat.util.http.ServerCookie','getCookieHeaderName()',NULL),(12300,'Load home interface and checking if bean correctly\nimplements specified home interface','Line','java/org/apache/naming/factory/EjbFactory.java',75,76,'org.apache.naming.factory.EjbFactory','getObjectInstance(Object, Name, Context, Hashtable)',NULL),(12301,'FIXME: Check type','Line','java/org/apache/naming/factory/ResourceLinkFactory.java',98,98,'org.apache.naming.factory.ResourceLinkFactory','getObjectInstance(Object, Name, Context, Hashtable)',NULL),(12302,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',157,158,'org.apache.tomcat.jdbc.pool.ConnectionPool','None',NULL),(12303,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',168,169,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12304,'XXX Only if BASIC/DIGEST and \'integrated auth\'','Line','java/org/apache/jk/config/GeneratorApache2.java',163,163,'org.apache.jk.config.GeneratorApache2','generateConstraints(Vector, Vector, Vector, boolean)',NULL),(12305,'TODO This can be fixed in Java 6','Line','java/org/apache/jk/server/JkMain.java',497,497,'org.apache.jk.server.JkMain','getJkMain()',NULL),(12306,'FIXME: Type used is Object due to very weird behavior\nwith Eclipse JDT 3.1 in Java 5 mode','Line','java/org/apache/jasper/runtime/JspSourceDependent.java',35,36,'org.apache.jasper.runtime.JspSourceDependent','getDependants()','DESIGN'),(12307,'None','None','java/org/apache/jasper/runtime/JspSourceDependent.java',-1,-1,'None','None',NULL),(12308,'XXX','Line','java/org/apache/jasper/compiler/JspDocumentParser.java',241,241,'org.apache.jasper.compiler.JspDocumentParser','addInclude(Node, List)',NULL),(12309,'XXX','Line','java/org/apache/jasper/compiler/JspDocumentParser.java',242,242,'org.apache.jasper.compiler.JspDocumentParser','addInclude(Node, List<String>)',NULL),(12310,'if we reach here, another thread is configuring the actual connection\nthis shouldn\'t block for long','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',784,785,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12311,'TODO','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',178,178,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','invoke(Object, Method, Object[])','NOT_DESIGN'),(12312,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',234,235,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12313,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',235,236,'org.apache.tomcat.jdbc.pool.ConnectionPool','poolClosed(ConnectionPool)',NULL),(12314,'if we reach here, another thread is configuring the actual connection\nthis shouldn\'t block for long','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',796,797,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12315,'if we reach here, another thread is configuring the actual connection\nthis shouldn\'t block for long','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',814,815,'org.apache.tomcat.jdbc.pool.ConnectionPool','poolClosed(ConnectionPool)',NULL),(12316,'extract the query string','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',329,329,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','invoke(Object, Method, Object[])',NULL),(12317,'if we do batch execution, then we name the query \'batch\'','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',331,331,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','invoke(Object, Method, Object[])',NULL),(12318,'if we have a query, record the stats','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',335,335,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','invoke(Object, Method, Object[])',NULL),(12319,'do nothing, might be a future unsupported method\nso we better bail out and let the system continue','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',155,156,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','QueryStats> getPoolStats(ConnectionPool)',NULL),(12320,'create the map to hold our stats\nhowever TODO we need to improve the eviction\nselection','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',174,176,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','QueryStats> getPoolStats(ConnectionPool)',NULL),(12321,'if we are calling anything else, bail out','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',316,316,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','invoke(Object, Method, Object[])',NULL),(12322,'there could have been contention around the queue','Line','java/org/apache/catalina/core/StandardThreadExecutor.java',129,129,'org.apache.catalina.core.StandardThreadExecutor','start()',NULL),(12323,'there could have been contention around the queue','Line','java/org/apache/catalina/core/StandardThreadExecutor.java',113,113,'org.apache.catalina.core.StandardThreadExecutor','start()','NOT_DESIGN'),(12324,'None','None','java/org/apache/catalina/core/StandardThreadExecutor.java',-1,-1,'None','None',NULL),(12325,'TODO this is not yet being used','Line','java/org/apache/tomcat/util/net/NioEndpoint.java',1668,1668,'org.apache.tomcat.util.net.NioEndpoint','offer(SocketProcessor)',NULL),(12326,'create the proxy\nTODO possible optimization, keep track if this connection was returned properly, and don\'t generate a new facade','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',229,230,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12327,'if we reach here, another thread is configuring the actual connection\nthis shouldn\'t block for long','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',818,819,'org.apache.tomcat.jdbc.pool.ConnectionPool','poolClosed(ConnectionPool)',NULL),(12328,'if we reach here, another thread is configuring the actual connection\nthis shouldn\'t block for long','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',800,801,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12329,'do nothing, might be a future unsupported method\nso we better bail out and let the system continue','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',157,158,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','QueryStats> getPoolStats(ConnectionPool)',NULL),(12330,'create the map to hold our stats\nhowever TODO we need to improve the eviction\nselection','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',176,178,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','QueryStats> getPoolStats(ConnectionPool)',NULL),(12331,'do nothing, might be a future unsupported method\nso we better bail out and let the system continue','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',169,170,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','QueryStats> getPoolStats(String)',NULL),(12332,'do nothing, might be a future unsupported method\nso we better bail out and let the system continue','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java',168,169,'org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport','prepareStatement(String, long)',NULL),(12333,'if we are calling anything else, bail out','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java',523,523,'org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport','invoke(Object, Method, Object[])',NULL),(12334,'if we are calling anything else, bail out','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java',204,204,'org.apache.tomcat.jdbc.pool.interceptor.AbstractQueryReport','invoke(Object, Method, Object[])',NULL),(12335,'None','None','java/org/apache/catalina/manager/util/SessionUtils.java',-1,-1,'None','None',NULL),(12336,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',375,375,'org.apache.catalina.core.ApplicationContextFacade','addFilter(String, String, String, Map<String, String>, boolean)',NULL),(12337,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',382,382,'org.apache.catalina.core.ApplicationContextFacade','addFilterMappingForServletNames(String, EnumSet<DispatcherType>, boolean, String...)',NULL),(12338,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',389,389,'org.apache.catalina.core.ApplicationContextFacade','addFilterMappingForUrlPatterns(String, EnumSet<DispatcherType>, boolean, String...)',NULL),(12339,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',394,394,'org.apache.catalina.core.ApplicationContextFacade','addServletMapping(String, String[])',NULL),(12340,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',399,399,'org.apache.catalina.core.ApplicationContextFacade','getDefaultSessionTrackingModes()','NOT_DESIGN'),(12341,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',405,405,'org.apache.catalina.core.ApplicationContextFacade','getEffectiveSessionTrackingModes()','NOT_DESIGN'),(12342,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',411,411,'org.apache.catalina.core.ApplicationContextFacade','getSessionCookieConfig()',NULL),(12343,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',417,417,'org.apache.catalina.core.ApplicationContextFacade','setSessionCookieConfig(SessionCookieConfig)',NULL),(12344,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',423,423,'org.apache.catalina.core.ApplicationContextFacade','setSessionTrackingModes(EnumSet<SessionTrackingMode>)','NOT_DESIGN'),(12345,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContext.java',815,815,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12346,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',448,448,'org.apache.jasper.servlet.JspCServletContext','addFilter(String, String, String, Map<String, String>, boolean)','NOT_DESIGN'),(12347,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',455,455,'org.apache.jasper.servlet.JspCServletContext','addFilterMappingForServletNames(String, EnumSet<DispatcherType>, boolean, String...)','NOT_DESIGN'),(12348,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',462,462,'org.apache.jasper.servlet.JspCServletContext','addFilterMappingForUrlPatterns(String, EnumSet<DispatcherType>, boolean, String...)','NOT_DESIGN'),(12349,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',467,467,'org.apache.jasper.servlet.JspCServletContext','addServletMapping(String, String[])','NOT_DESIGN'),(12350,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',472,472,'org.apache.jasper.servlet.JspCServletContext','getDefaultSessionTrackingModes()','NOT_DESIGN'),(12351,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',478,478,'org.apache.jasper.servlet.JspCServletContext','getEffectiveSessionTrackingModes()','NOT_DESIGN'),(12352,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',484,484,'org.apache.jasper.servlet.JspCServletContext','getSessionCookieConfig()','NOT_DESIGN'),(12353,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',490,490,'org.apache.jasper.servlet.JspCServletContext','setSessionCookieConfig(SessionCookieConfig)','NOT_DESIGN'),(12354,'TODO SERVLET3','Line','java/org/apache/jasper/servlet/JspCServletContext.java',496,496,'org.apache.jasper.servlet.JspCServletContext','setSessionTrackingModes(EnumSet<SessionTrackingMode>)','NOT_DESIGN'),(12355,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1494,1494,'org.apache.catalina.connector.Request','addAsyncListener(AsyncListener, ServletRequest, ServletResponse)',NULL),(12356,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1498,1498,'org.apache.catalina.connector.Request','addAsyncListener(AsyncListener)',NULL),(12357,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1502,1502,'org.apache.catalina.connector.Request','getAsyncContext()',NULL),(12358,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1507,1507,'org.apache.catalina.connector.Request','getServletContext()',NULL),(12359,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1512,1512,'org.apache.catalina.connector.Request','isAsyncStarted()',NULL),(12360,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1517,1517,'org.apache.catalina.connector.Request','isAsyncSupported()',NULL),(12361,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1522,1522,'org.apache.catalina.connector.Request','setAsyncTimeout(long)','NOT_DESIGN'),(12362,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1526,1526,'org.apache.catalina.connector.Request','startAsync()',NULL),(12363,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1532,1532,'org.apache.catalina.connector.Request','startAsync(ServletRequest, ServletResponse)',NULL),(12364,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',943,943,'org.apache.catalina.connector.RequestFacade','addAsyncListener(AsyncListener, ServletRequest, ServletResponse)','NOT_DESIGN'),(12365,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',948,948,'org.apache.catalina.connector.RequestFacade','addAsyncListener(AsyncListener)','NOT_DESIGN'),(12366,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',953,953,'org.apache.catalina.connector.RequestFacade','getAsyncContext()','NOT_DESIGN'),(12367,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',959,959,'org.apache.catalina.connector.RequestFacade','getServletContext()','NOT_DESIGN'),(12368,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',965,965,'org.apache.catalina.connector.RequestFacade','isAsyncStarted()',NULL),(12369,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',971,971,'org.apache.catalina.connector.RequestFacade','isAsyncSupported()',NULL),(12370,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',977,977,'org.apache.catalina.connector.RequestFacade','setAsyncTimeout(long)',NULL),(12371,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',982,982,'org.apache.catalina.connector.RequestFacade','startAsync()',NULL),(12372,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',989,989,'org.apache.catalina.connector.RequestFacade','startAsync(ServletRequest, ServletResponse)',NULL),(12373,'TODO SERVLET3\nNot in the spec but supported by most browsers','Line','java/javax/servlet/http/Cookie.java',93,94,'javax.servlet.http.Cookie','None',NULL),(12374,'TODO this operation is not thread safe','Line','java/org/apache/catalina/tribes/membership/McastServiceImpl.java',488,488,'org.apache.catalina.tribes.membership.McastServiceImpl','init()',NULL),(12375,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContext.java',857,857,'org.apache.catalina.core.ApplicationContext','getResources()','NOT_DESIGN'),(12376,'None','None','java/org/apache/catalina/core/ApplicationContext.java',-1,-1,'None','None',NULL),(12377,'TODO SERVLET3\nNot in the spec but supported by most browsers','Line','java/javax/servlet/http/Cookie.java',91,92,'javax.servlet.http.Cookie','None','NOT_DESIGN'),(12378,'Not in cookie specs, but supported by browsers','Line','java/javax/servlet/http/Cookie.java',91,91,'javax.servlet.http.Cookie','None',NULL),(12379,'None','None','java/org/apache/catalina/core/ApplicationContextFacade.java',-1,-1,'None','None',NULL),(12380,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContext.java',844,844,'org.apache.catalina.core.ApplicationContext','getResources()','NOT_DESIGN'),(12381,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContext.java',867,867,'org.apache.catalina.core.ApplicationContext','getResources()','NOT_DESIGN'),(12382,'Check that only supported tracking modes have been requested','Line','java/org/apache/catalina/core/ApplicationContext.java',927,927,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12383,'TODO SERVLET3 - The SSL test','Line','java/org/apache/catalina/core/ApplicationContext.java',935,935,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12384,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1508,1508,'org.apache.catalina.connector.Request','getServletContext()','NOT_DESIGN'),(12385,'None','None','java/org/apache/catalina/connector/Request.java',-1,-1,'None','None',NULL),(12386,'TODO SERVLET3 provide a hook to enable the SSL session to be\ninvalidated','Line','java/org/apache/coyote/http11/Http11AprProcessor.java',1202,1203,'org.apache.coyote.http11.Http11AprProcessor','action(ActionCode, Object)','DESIGN'),(12387,'TODO Is there a better way to map SSL sessions to our sesison ID?\nTODO The request.getAttribute() will cause a number of other SSL\nattribute to be populated. Is this a performance concern?','Line','java/org/apache/catalina/connector/CoyoteAdapter.java',529,531,'org.apache.catalina.connector.CoyoteAdapter','parseSessionSslId(Request)',NULL),(12388,'Need at least one SSL enabled connector to use the SSL session ID.\nhas to be SSL enabled so we can close the SSL session.\nTODO extend this for SSL sessions managed by accelerators, web\nservers etc','Line','java/org/apache/catalina/core/ApplicationContext.java',877,880,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12389,'XXX\nshould give more detail about the illegal argument','Line','java/javax/servlet/http/HttpUtils.java',101,102,'javax.servlet.http.HttpUtils','parseQueryString(String)',NULL),(12390,'cheap hack to return an empty hash','Line','java/javax/servlet/http/HttpUtils.java',173,173,'javax.servlet.http.HttpUtils','parsePostData(int, ServletInputStream)',NULL),(12391,'cheap hack to return an empty hash','Line','java/javax/servlet/http/HttpUtils.java',172,172,'javax.servlet.http.HttpUtils','String[]> parsePostData(int, ServletInputStream)',NULL),(12392,'XXX we shouldn\'t assume that the only kind of POST body\nis FORM data encoded using ASCII or ISO Latin/1 ... or\nthat the body should always be treated as FORM data.\n','Line','java/javax/servlet/http/HttpUtils.java',199,202,'javax.servlet.http.HttpUtils','parsePostData(int, ServletInputStream)',NULL),(12393,'XXX we shouldn\'t assume that the only kind of POST body\nis FORM data encoded using ASCII or ISO Latin/1 ... or\nthat the body should always be treated as FORM data.\n','Line','java/javax/servlet/http/HttpUtils.java',201,204,'javax.servlet.http.HttpUtils','String[]> parsePostData(int, ServletInputStream)',NULL),(12394,'XXX function should accept an encoding parameter & throw this\nexception.  Otherwise throw something expected.','Line','java/javax/servlet/http/HttpUtils.java',208,209,'javax.servlet.http.HttpUtils','parsePostData(int, ServletInputStream)',NULL),(12395,'XXX function should accept an encoding parameter & throw this\nexception.  Otherwise throw something expected.','Line','java/javax/servlet/http/HttpUtils.java',210,211,'javax.servlet.http.HttpUtils','String[]> parsePostData(int, ServletInputStream)',NULL),(12396,'no op','Line','java/org/apache/coyote/http11/Http11AprProcessor.java',1202,1202,'org.apache.coyote.http11.Http11AprProcessor','action(ActionCode, Object)',NULL),(12397,'TODO provide a hook to enable the SSL session to be\ninvalidated. Set AprEndpoint.SESSION_MGR req attr','Line','java/org/apache/coyote/http11/Http11AprProcessor.java',1144,1145,'org.apache.coyote.http11.Http11AprProcessor','action(ActionCode, Object)',NULL),(12398,'TODO Is this approach still required?','Line','java/org/apache/catalina/tribes/io/BufferPool.java',64,64,'org.apache.catalina.tribes.io.BufferPool','getBufferPool()','DESIGN'),(12399,'Do nothing','Line','java/org/apache/jasper/servlet/JspCServletContext.java',448,448,'org.apache.jasper.servlet.JspCServletContext','addFilter(String, String, String, Map<String, String>, boolean)',NULL),(12400,'Do nothing','Line','java/org/apache/jasper/servlet/JspCServletContext.java',455,455,'org.apache.jasper.servlet.JspCServletContext','addFilterMappingForServletNames(String, EnumSet<DispatcherType>, boolean, String...)',NULL),(12401,'Do nothing','Line','java/org/apache/jasper/servlet/JspCServletContext.java',462,462,'org.apache.jasper.servlet.JspCServletContext','addFilterMappingForUrlPatterns(String, EnumSet<DispatcherType>, boolean, String...)',NULL),(12402,'Do nothing','Line','java/org/apache/jasper/servlet/JspCServletContext.java',467,467,'org.apache.jasper.servlet.JspCServletContext','addServletMapping(String, String[])',NULL),(12403,'None','None','java/org/apache/jasper/servlet/JspCServletContext.java',-1,-1,'None','None',NULL),(12404,'Do nothing','Line','java/org/apache/jasper/servlet/JspCServletContext.java',487,487,'org.apache.jasper.servlet.JspCServletContext','setSessionCookieConfig(SessionCookieConfig)',NULL),(12405,'Do nothing','Line','java/org/apache/jasper/servlet/JspCServletContext.java',493,493,'org.apache.jasper.servlet.JspCServletContext','setSessionTrackingModes(EnumSet<SessionTrackingMode>)',NULL),(12406,'None','None','java/org/apache/catalina/connector/RequestFacade.java',-1,-1,'None','None',NULL),(12407,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',393,393,'org.apache.catalina.core.ApplicationContextFacade','addFilter(String, String, String, Map<String, String>, boolean)','NOT_DESIGN'),(12408,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',400,400,'org.apache.catalina.core.ApplicationContextFacade','addFilterMappingForServletNames(String, EnumSet<DispatcherType>, boolean, String...)','NOT_DESIGN'),(12409,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',407,407,'org.apache.catalina.core.ApplicationContextFacade','addFilterMappingForUrlPatterns(String, EnumSet<DispatcherType>, boolean, String...)','NOT_DESIGN'),(12410,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',412,412,'org.apache.catalina.core.ApplicationContextFacade','addServletMapping(String, String[])','NOT_DESIGN'),(12411,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',437,437,'org.apache.catalina.core.ApplicationContextFacade','getSessionCookieConfig()','NOT_DESIGN'),(12412,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContextFacade.java',443,443,'org.apache.catalina.core.ApplicationContextFacade','setSessionCookieConfig(SessionCookieConfig)','NOT_DESIGN'),(12413,'<= Servlet API 2.4\nif ((servletNames.length == 0) && (urlPatterns.length == 0))\nServlet API 2.5 (FIX 43338)\nSRV 6.2.5 says supporting for \'*\' as the servlet-name in filter-mapping.','Line','java/org/apache/catalina/core/StandardContext.java',2193,2196,'org.apache.catalina.core.StandardContext','getInstanceManager()','NOT_DESIGN'),(12414,'None','None','java/org/apache/catalina/core/StandardContext.java',-1,-1,'None','None',NULL),(12415,'TODO SERVLET3','Line','java/org/apache/catalina/core/ApplicationContext.java',839,839,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12416,'TODO Spec breaking enhancement to ignore this restriction','Line','java/org/apache/catalina/core/ApplicationContext.java',843,843,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12417,'TODO SERVLET3 - ASync support','Line','java/org/apache/catalina/core/ApplicationContext.java',854,854,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12418,'Need at least one SSL enabled connector to use the SSL session ID.\nhas to be SSL enabled so we can close the SSL session.\nTODO extend this for SSL sessions managed by accelerators, web\nservers etc','Line','java/org/apache/catalina/core/ApplicationContext.java',885,888,'org.apache.catalina.core.ApplicationContext','getResources()','DESIGN'),(12419,'Context > Host > Engine > Service','Line','java/org/apache/catalina/core/ApplicationContext.java',940,940,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12420,'Need at least one secure connector to use the SSL session ID.','Line','java/org/apache/catalina/core/ApplicationContext.java',943,943,'org.apache.catalina.core.ApplicationContext','getResources()',NULL),(12421,'XXX reallocate','Line','java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java',231,231,'org.apache.tomcat.util.modeler.BaseNotificationBroadcaster','registerNotifications(FixedNotificationFilter)','NOT_DESIGN'),(12422,'None','None','java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java',-1,-1,'None','None',NULL),(12423,'Why doesn\'t RequestUtil do this??\nNormalize the slashes and add leading slash if necessary','Line','java/org/apache/catalina/ssi/SSIServletRequestUtil.java',70,71,'org.apache.catalina.ssi.SSIServletRequestUtil','normalize(String)','DESIGN'),(12424,'None','None','java/org/apache/catalina/ssi/SSIServletRequestUtil.java',-1,-1,'None','None',NULL),(12425,'Compares page encodings specified in various places, and throws\nexception in case of page encoding mismatch.\n\n@param pageDirEnc The value of the pageEncoding attribute of the page\ndirective @param pageDir The page directive node\n\n@throws JasperException in case of page encoding mismatch','Block','java/org/apache/jasper/compiler/Validator.java',373,381,'org.apache.jasper.compiler.Validator','visit(Node.IncludeDirective)',NULL),(12426,'Compares page encodings specified in various places, and throws\nexception in case of page encoding mismatch.\n\n@param thePageDirEnc The value of the pageEncoding attribute of the page\ndirective @param pageDir The page directive node\n\n@throws JasperException in case of page encoding mismatch','Block','java/org/apache/jasper/compiler/Validator.java',373,381,'org.apache.jasper.compiler.Validator','visit(Node.IncludeDirective)',NULL),(12427,'clear the flag, and bail out','Line','modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java',481,481,'org.apache.tomcat.jdbc.pool.ConnectionPool','getConnectionAsync()',NULL),(12428,'XXX we shouldn\'t assume that the only kind of POST body\nis FORM data encoded using ASCII or ISO Latin/1 ... or\nthat the body should always be treated as FORM data.','Line','java/javax/servlet/http/HttpUtils.java',189,191,'javax.servlet.http.HttpUtils','String[]> parsePostData(int, ServletInputStream)',NULL),(12429,'Version 1 (RFC2965) attributes\nTODO Add support for CommentURL\nDiscard - implied by maxAge <0\nTODO Add support for Port','Line','java/org/apache/tomcat/util/http/ServerCookie.java',85,88,'org.apache.tomcat.util.http.ServerCookie','None',NULL),(12430,'Version 1 (RFC2965) attributes\nTODO Add support for CommentURL\nDiscard - implied by maxAge <0\nTODO Add support for Port','Line','java/org/apache/tomcat/util/http/ServerCookie.java',91,94,'org.apache.tomcat.util.http.ServerCookie','initialValue()',NULL),(12431,'Hack for Catalina 4.1 who hungs the calling thread.\nAlso avoids delays in apache initialization ( tomcat can take a while )','Line','java/org/apache/jk/apr/TomcatStarter.java',22,23,'None','None',NULL),(12432,'XXX maybe install the jni lib in apr-home ?','Line','java/org/apache/jk/apr/AprImpl.java',68,68,'org.apache.jk.apr.AprImpl','setBaseDir(String)',NULL),(12433,'-------------------- Called from C --------------------\nXXX Check security, add guard or other protection\nIt\'s better to do it the other way - on init \'push\' AprImpl into\nthe native library, and have native code call instance methods.','Line','java/org/apache/jk/apr/AprImpl.java',164,167,'org.apache.jk.apr.AprImpl','setBaseDir(String)',NULL),(12434,'XXX will be an instance method, fields accessible directly','Line','java/org/apache/jk/apr/AprImpl.java',170,170,'org.apache.jk.apr.AprImpl','setBaseDir(String)',NULL),(12435,'XXX Update for windows','Line','java/org/apache/jk/apr/AprImpl.java',252,252,'org.apache.jk.apr.AprImpl','setBaseDir(String)',NULL),(12436,'XXX Use noteId','Line','java/org/apache/jk/common/JniHandler.java',178,178,'org.apache.jk.common.JniHandler','setJkHome(String)',NULL),(12437,'XXX we should copy the content to the file','Line','java/org/apache/jk/common/Shm14.java',58,58,'org.apache.jk.common.Shm14','dumpScoreboard(String)',NULL),(12438,'XXX Need to write the head','Line','java/org/apache/jk/common/Shm14.java',62,62,'org.apache.jk.common.Shm14','resetScoreboard()',NULL),(12439,'4 - hardcoded, byte[] marshalling overhead','Line','java/org/apache/coyote/ajp/AjpProcessor.java',1225,1225,'org.apache.coyote.ajp.AjpProcessor','doWrite(ByteChunk, Response)',NULL),(12440,'4 - hardcoded, byte[] marshalling overhead\nAdjust allowed size if packetSize != default (Constants.MAX_PACKET_SIZE)','Line','java/org/apache/coyote/ajp/AjpProcessor.java',1232,1233,'org.apache.coyote.ajp.AjpProcessor','doWrite(ByteChunk, Response)',NULL),(12441,'4 - hardcoded, byte[] marshalling overhead','Line','java/org/apache/coyote/ajp/AjpAprProcessor.java',1286,1286,'org.apache.coyote.ajp.AjpAprProcessor','doWrite(ByteChunk, Response)',NULL),(12442,'4 - hardcoded, byte[] marshalling overhead\nAdjust allowed size if packetSize != default (Constants.MAX_PACKET_SIZE)','Line','java/org/apache/coyote/ajp/AjpAprProcessor.java',1294,1295,'org.apache.coyote.ajp.AjpAprProcessor','doWrite(ByteChunk, Response)',NULL),(12443,'just a hack to stop waiting','Line','java/org/apache/tomcat/util/collections/Queue.java',51,51,'org.apache.tomcat.util.collections.Queue','stop()',NULL),(12444,'TODO SERVLET3','Line','java/org/apache/catalina/connector/Request.java',1537,1537,'org.apache.catalina.connector.Request','startAsync()','NOT_DESIGN'),(12445,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',969,969,'org.apache.catalina.connector.RequestFacade','isAsyncStarted()','NOT_DESIGN'),(12446,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',975,975,'org.apache.catalina.connector.RequestFacade','isAsyncSupported()','NOT_DESIGN'),(12447,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',981,981,'org.apache.catalina.connector.RequestFacade','setAsyncTimeout(long)','NOT_DESIGN'),(12448,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',986,986,'org.apache.catalina.connector.RequestFacade','startAsync()','NOT_DESIGN'),(12449,'TODO SERVLET3','Line','java/org/apache/catalina/connector/RequestFacade.java',993,993,'org.apache.catalina.connector.RequestFacade','startAsync(ServletRequest, ServletResponse)','NOT_DESIGN'),(12450,'XXX Shouldn\'t be here - has nothing to do with buffers.','Line','java/org/apache/tomcat/util/buf/TimeStamp.java',22,22,'None','None',NULL),(12451,'XXX Throw conversion exception !!!','Line','java/org/apache/tomcat/util/buf/UTF8Decoder.java',136,136,'org.apache.tomcat.util.buf.UTF8Decoder','recycle()',NULL),(12452,'TODO: collate all notes in a signle file','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/coyote/CoyoteUtils.java',49,49,'org.apache.tomcat.lite.coyote.CoyoteUtils','getContextPath(Request)',NULL),(12453,'as a hack, you can use a static file - and genarate the same\nsession ids ( good for strange debugging )','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/session/RandomGenerator.java',304,305,'org.apache.tomcat.servlets.session.RandomGenerator','setRandomFile(String)',NULL),(12454,'TODO: use context extensions to register the servlet as if it would be\nloaded from web.xml','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/jsp/WildcardTemplateServlet.java',59,60,'org.apache.tomcat.servlets.jsp.WildcardTemplateServlet','service(HttpServletRequest, HttpServletResponse)',NULL),(12455,'TODO: support reload','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/jsp/WildcardTemplateServlet.java',94,94,'org.apache.tomcat.servlets.jsp.WildcardTemplateServlet','service(HttpServletRequest, HttpServletResponse)',NULL),(12456,'TODO: replace it with writeRole - who is enabled to write','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',123,123,'org.apache.tomcat.servlets.file.WebdavServlet','None',NULL),(12457,'TODO : Checking the WebDAV If header','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',210,210,'org.apache.tomcat.servlets.file.WebdavServlet','checkIfHeaders(HttpServletRequest, HttpServletResponse, File)',NULL),(12458,'Most likely there was no content : we use the defaults.\nTODO : Enhance that !','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',384,385,'org.apache.tomcat.servlets.file.WebdavServlet','getPropfindType(HttpServletRequest, Vector)',NULL),(12459,'TODO: hook for Webdav2','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',650,650,'org.apache.tomcat.servlets.file.WebdavServlet','genPropertiesFound(XMLWriter, Vector, File, String, Vector)',NULL),(12460,'TODO : Process this request body','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',718,718,'org.apache.tomcat.servlets.file.WebdavServlet','doMkcol(HttpServletRequest, HttpServletResponse)',NULL),(12461,'we have a header, but has bad value.\noriginal catalina code has a bug I think','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',811,812,'org.apache.tomcat.servlets.file.WebdavServlet','doPut(HttpServletRequest, HttpServletResponse)',NULL),(12462,'if (obj instanceof Resource)','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/WebdavServlet.java',886,886,'org.apache.tomcat.servlets.file.WebdavServlet','doCopy(HttpServletRequest, HttpServletResponse)',NULL),(12463,'TODO: find a better default','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/Dir2Html.java',53,53,'org.apache.tomcat.servlets.file.Dir2Html','None',NULL),(12464,'TODO: Check the file cache to avoid a bunch of FS accesses.','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/Dir2Html.java',179,179,'org.apache.tomcat.servlets.file.Dir2Html','serveResource(HttpServletRequest, HttpServletResponse, boolean, String)',NULL),(12465,'TODO: use a template for localization / customization','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/file/Dir2Html.java',318,318,'org.apache.tomcat.servlets.file.Dir2Html','renderHtml(String, File, String)',NULL),(12466,'Final processing\nTODO: only if not commet, this doesn\'t work with the\nother connectors since we don\'t have the info\nTODO: add this note in the nio/apr connectors\nTODO: play nice with TomcatLite, other adapters that flush/close','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/coyote/MapperAdapter.java',102,106,'org.apache.tomcat.lite.coyote.MapperAdapter','service(Request, Response)',NULL),(12467,'TODO(costin): optimize: separate in 2 lists, one for url-mapped, one for\nservlet-name. Maybe even separate list for dispatcher and\nnon-dispatcher','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/WebappFilterMapper.java',161,163,'org.apache.tomcat.lite.WebappFilterMapper','setServletContext(ServletContextImpl)',NULL),(12468,'FIXME - log configuration problem','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/WebappFilterMapper.java',179,179,'org.apache.tomcat.lite.WebappFilterMapper','setServletContext(ServletContextImpl)',NULL),(12469,'TODO: extract outdate info, compilation date, etc','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/jsp/JasperCompilerTemplateClassMapper.java',97,97,'org.apache.tomcat.servlets.jsp.JasperCompilerTemplateClassMapper','needsReload(String, Servlet)',NULL),(12470,'Probably useless','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/ServletResponseImpl.java',353,353,'org.apache.tomcat.lite.ServletResponseImpl','createOutputStream()',NULL),(12471,'Now, sort the cookies in most to least specific order\nYes, its the deaded bubblesort!! Wah Ha-ha-ha-ha....\n(it should be a small vector, so perf is not an issue...)','Line','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/CookieController.java',401,403,'org.apache.tomcat.test.watchdog.CookieController','getSubsetRelevantCookies(String, URL)',NULL),(12472,'Send a default message body.\nTODO: maybe other mechanism to customize default.','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/ServletResponseImpl.java',1054,1055,'org.apache.tomcat.lite.ServletResponseImpl','sendError(int, String)',NULL),(12473,'HACK','Line','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/GTest.java',1024,1024,'org.apache.tomcat.test.watchdog.GTest','parseHeader(String, HashMap, boolean)',NULL),(12474,'TODO: use extension to find the right UserTemplateClassMapper.','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/jsp/JspFileTemplateServlet.java',59,59,'org.apache.tomcat.servlets.jsp.JspFileTemplateServlet','init(ServletConfig)',NULL),(12475,'XXX headers are ignored','Line','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/WatchdogHttpClient.java',47,47,'org.apache.tomcat.test.watchdog.WatchdogHttpClient','None',NULL),(12476,'TODO: support reload','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/jsp/JspFileTemplateServlet.java',85,85,'org.apache.tomcat.servlets.jsp.JspFileTemplateServlet','service(HttpServletRequest, HttpServletResponse)',NULL),(12477,'XXX no CRLF at the end -see HTTP specs!','Line','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/WatchdogHttpClient.java',131,131,'org.apache.tomcat.test.watchdog.WatchdogHttpClient','None',NULL),(12478,'TODO: .ser, reloading, etc','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/webxml/TomcatLiteWebXmlConfig.java',27,27,'org.apache.tomcat.lite.webxml.TomcatLiteWebXmlConfig','readWebXml(ServletContextImpl, String)',NULL),(12479,'RFC 850 (obsoleted by 1036)\nditto but no tz. Happens too often\nRFC 822/1123\nREMIND what rfc? Apache/1.1\nREMIND what rfc? Apache/1.1\nREMIND what rfc? Apache/1.1\nREMIND what rfc? Apache/1.1\nDate\'s string output format\nANSI C asctime format()\nNo time zone 2 digit year RFC 1123\nNo time zone RFC 822/1123','Line','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/RfcDateParser.java',36,46,'org.apache.tomcat.test.watchdog.RfcDateParser','None',NULL),(12480,'// TODO: this should move to deploy - if not set, there is no point','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/webxml/TomcatLiteWebXmlConfig.java',29,29,'org.apache.tomcat.lite.webxml.TomcatLiteWebXmlConfig','readWebXml(ServletContextImpl, String)',NULL),(12481,'because there are problems with JDK1.1.6/SimpleDateFormat with\nrecognizing GMT, we have to create this workaround with the following\nhardcoded strings','Block','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/RfcDateParser.java',49,51,'org.apache.tomcat.test.watchdog.RfcDateParser','None',NULL),(12482,'all contexts - hostMapper knows about hostnames and how they are mapped.\nthis shouldn\'t be needed if we want to delegate ctx management','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/TomcatLite.java',77,78,'org.apache.tomcat.lite.TomcatLite','None',NULL),(12483,'RFC 850 (obsoleted by 1036)\nRFC 822/1123\nREMIND what rfc? Apache/1.1\nREMIND what rfc? Apache/1.1\nREMIND what rfc? Apache/1.1\nREMIND what rfc? Apache/1.1\nDate\'s string output format','Line','modules/tomcat-lite/test/org/apache/tomcat/test/watchdog/RfcDateParser.java',53,59,'org.apache.tomcat.test.watchdog.RfcDateParser','None',NULL),(12484,'TODO: destroy all servlets and filters\nTODO: clean up any other reference to the context or its loader','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/TomcatLite.java',280,281,'org.apache.tomcat.lite.TomcatLite','removeServletContext(ServletContext)',NULL),(12485,'\nTest method for \'org.apache.tomcat.util.buf.UEncoder.encodeURL(String)\'\nTODO: find the relevant rfc and apache tests and add more','Block','modules/tomcat-lite/test/org/apache/tomcat/util/buf/UEncoderTest.java',10,14,'org.apache.tomcat.util.buf.UEncoderTest','testEncodeURL()',NULL),(12486,'TODO: make hostMapper configurable, implement interface,\nsimple to set on ROOT context','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/TomcatLite.java',322,323,'org.apache.tomcat.lite.TomcatLite','service(ServletRequestImpl, ServletResponseImpl)',NULL),(12487,'TODO: 404','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/TomcatLite.java',329,329,'org.apache.tomcat.lite.TomcatLite','service(ServletRequestImpl, ServletResponseImpl)',NULL),(12488,'Send a default message body.\nTODO: maybe other mechanism to customize default.','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/TomcatLite.java',434,435,'org.apache.tomcat.lite.TomcatLite','serviceServlet(ServletContextImpl, ServletRequestImpl, ServletResponseImpl, ServletConfigImpl, MappingData)',NULL),(12489,'TODO: handle via error pages !','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/TomcatLite.java',454,454,'org.apache.tomcat.lite.TomcatLite','handleUnavailable(ServletResponseImpl, ServletConfigImpl)',NULL),(12490,'TODO: refactor all \'stm\' to separate class (not implemented)\npublic static final String SINGLE_THREADED_PROXY =','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/ServletConfigImpl.java',59,60,'org.apache.tomcat.lite.ServletConfigImpl','None',NULL),(12491,'this is quite different from catalina, where an ugly kludge was\nused to use the same jsp servlet in 2 roles','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/ServletConfigImpl.java',422,423,'org.apache.tomcat.lite.ServletConfigImpl','newInstance()',NULL),(12492,'FIXME - \\\"*\\\" entries are not handled','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/util/LocaleParser.java',97,97,'org.apache.tomcat.servlets.util.LocaleParser','None',NULL),(12493,'todo: should we init each of them ?','Line','modules/tomcat-lite/java/org/apache/tomcat/servlets/jsp/SingleThreadedProxyServlet.java',46,46,'org.apache.tomcat.servlets.jsp.SingleThreadedProxyServlet','service(HttpServletRequest, HttpServletResponse)',NULL),(12494,'TODO: support real uri ( http://host/path )\nValidate the format of the specified argument','Line','modules/tomcat-lite/java/org/apache/tomcat/lite/ServletContextImpl.java',358,359,'org.apache.tomcat.lite.ServletContextImpl','setTomcat(TomcatLite)',NULL),