Buggy code:
public class ThriftServer { private static final Log LOG = LogFactory . getLog ( ThriftServer . class ) ; private String _nodeName ; private Iface _iface ; private TServer _server ; private boolean _closed ; private int _threadCount ; private BlurShutdown _shutdown ; private ExecutorService _executorService ; private ExecutorService _queryExexutorService ; private ExecutorService _mutateExecutorService ; private TServerEventHandler _eventHandler ; private TNonblockingServerSocket _serverTransport ; private int _acceptQueueSizePerThread = 4 ; private long _maxReadBufferBytes = Long . MAX_VALUE ; private int _selectorThreads = 2 ; private int _maxFrameSize = 16384000 ; public int getMaxFrameSize ( ) { } public void setMaxFrameSize ( int maxFrameSize ) { } public TNonblockingServerSocket getServerTransport ( ) { } public void setServerTransport ( TNonblockingServerSocket serverTransport ) { } public static String getCommandLibPath ( ) { } public static String getBlurHomeDir ( ) { } public static File getDefaultTmpPath ( String propName ) throws IOException { String blurHomeDir = ThriftServer . getBlurHomeDir ( ) ; File tmp ; if ( blurHomeDir == null ) { tmp = ThriftServer . getTmpDir ( ) ; ThriftServer . LOG . info ( "Attempting<seq2seq4repair_space>to<seq2seq4repair_space>use<seq2seq4repair_space>default<seq2seq4repair_space>tmp<seq2seq4repair_space>directory<seq2seq4repair_space>[{0}]" , tmp ) ; } else { tmp = new File ( blurHomeDir , "tmp" ) ; ThriftServer . LOG . info ( "Attempting<seq2seq4repair_space>to<seq2seq4repair_space>use<seq2seq4repair_space>configured<seq2seq4repair_space>tmp<seq2seq4repair_space>directory<seq2seq4repair_space>[{0}]" , tmp ) ; <START_BUG> if ( ! ( tmp . mkdirs ( ) ) ) { <END_BUG> tmp = ThriftServer . getTmpDir ( ) ; ThriftServer . LOG . info ( "Attempting<seq2seq4repair_space>to<seq2seq4repair_space>use<seq2seq4repair_space>default<seq2seq4repair_space>tmp<seq2seq4repair_space>directory<seq2seq4repair_space>[{0}]" , tmp ) ; } } if ( ( ! ( tmp . exists ( ) ) ) && ( ! ( tmp . mkdirs ( ) ) ) ) { throw new IOException ( ( ( ( ( "Cannot<seq2seq4repair_space>create<seq2seq4repair_space>tmp<seq2seq4repair_space>directory<seq2seq4repair_space>[" + ( tmp . toURI ( ) ) ) + "],<seq2seq4repair_space>please<seq2seq4repair_space>create<seq2seq4repair_space>directory<seq2seq4repair_space>or<seq2seq4repair_space>configure<seq2seq4repair_space>property<seq2seq4repair_space>[" ) + propName ) + "]." ) ) ; } File file = new File ( tmp , UUID . randomUUID ( ) . toString ( ) ) ; if ( ! ( file . createNewFile ( ) ) ) { throw new IOException ( ( ( "Cannot<seq2seq4repair_space>create<seq2seq4repair_space>tmp<seq2seq4repair_space>file<seq2seq4repair_space>in<seq2seq4repair_space>[" + ( tmp . toURI ( ) ) ) + "]." ) ) ; } file . delete ( ) ; return tmp ; } private static File getTmpDir ( ) { } public static TraceStorage setupTraceStorage ( BlurConfiguration configuration ) throws IOException { } public static void printUlimits ( ) throws IOException { } public static void setupJvmMetrics ( ) { } private static long getProcessCputTime ( Method processCpuTimeMethod , OperatingSystemMXBean operatingSystemMXBean ) { } public synchronized void close ( ) { } protected static int getServerIndex ( String [ ] args ) { } public void start ( ) throws TTransportException { } public static TNonblockingServerSocket getTNonblockingServerSocket ( String bindAddress , int bindPort ) throws TTransportException { } public int getLocalPort ( ) { } public static InetSocketAddress getBindInetSocketAddress ( String bindAddress , int bindPort ) { } public static String isEmpty ( String str , String name ) { } public Iface getIface ( ) { } public void setIface ( Iface iface ) { } public String getNodeName ( ) { } public void setNodeName ( String nodeName ) { } public static String getNodeName ( BlurConfiguration configuration , String hostNameProperty ) throws UnknownHostException { } public void setThreadCount ( int threadCount ) { } public BlurShutdown getShutdown ( ) { } public void setShutdown ( BlurShutdown shutdown ) { } public TServerEventHandler getEventHandler ( ) { } public void setEventHandler ( TServerEventHandler eventHandler ) { } public int getAcceptQueueSizePerThread ( ) { } public void setAcceptQueueSizePerThread ( int acceptQueueSizePerThread ) { } public long getMaxReadBufferBytes ( ) { } public void setMaxReadBufferBytes ( long maxReadBufferBytes ) { } public int getSelectorThreads ( ) { } public void setSelectorThreads ( int selectorThreads ) { } }

Fix:
if ( ( ! ( tmp . exists ( ) ) ) && ( ! ( tmp . mkdirs ( ) ) ) ) {