/** * Resolve GGFS profiler logs directory. * * @param ggfs GGFS instance to resolve logs dir for. * @return {@link Path} to log dir or {@code null} if not found. * @throws GridException if failed to resolve. */ public static Path resolveGgfsProfilerLogsDir(GridGgfs ggfs) throws GridException { String logsDir; if (ggfs instanceof GridGgfsEx) logsDir = ((GridGgfsEx) ggfs).clientLogDirectory(); else if (ggfs == null) throw new GridException("Failed to get profiler log folder (GGFS instance not found)"); else throw new GridException("Failed to get profiler log folder (unexpected GGFS instance type)"); URL logsDirUrl = U.resolveGridGainUrl(logsDir != null ? logsDir : DFLT_GGFS_LOG_DIR); return logsDirUrl != null ? new File(logsDirUrl.getPath()).toPath() : null; } }
/** * Resolve GGFS profiler logs directory. * * @param ggfs GGFS instance to resolve logs dir for. * @return {@link Path} to log dir or {@code null} if not found. * @throws GridException if failed to resolve. */ public static Path resolveGgfsProfilerLogsDir(GridGgfs ggfs) throws GridException { String logsDir; if (ggfs instanceof GridGgfsEx) logsDir = ((GridGgfsEx) ggfs).clientLogDirectory(); else if (ggfs == null) throw new GridException("Failed to get profiler log folder (GGFS instance not found)"); else throw new GridException("Failed to get profiler log folder (unexpected GGFS instance type)"); URL logsDirUrl = U.resolveGridGainUrl(logsDir != null ? logsDir : DFLT_GGFS_LOG_DIR); return logsDirUrl != null ? new File(logsDirUrl.getPath()).toPath() : null; } }
/** * Processes handshake request. * * @param req Handshake request. * @return Response message. * @throws GridException In case of handshake failure. */ private GridGgfsMessage processHandshakeRequest(GridGgfsHandshakeRequest req) throws GridException { if (!F.eq(ctx.gridName(), req.gridName())) throw new GridException("Failed to perform handshake because actual Grid name differs from expected " + "[expected=" + req.gridName() + ", actual=" + ctx.gridName() + ']'); if (!F.eq(ggfs.name(), req.ggfsName())) throw new GridException("Failed to perform handshake because actual GGFS name differs from expected " + "[expected=" + req.ggfsName() + ", actual=" + ggfs.name() + ']'); GridGgfsControlResponse res = new GridGgfsControlResponse(); ggfs.clientLogDirectory(req.logDirectory()); GridGgfsHandshakeResponse handshake = new GridGgfsHandshakeResponse(ggfs.name(), ggfs.proxyPaths(), ggfs.groupBlockSize(), ggfs.globalSampling()); res.handshake(handshake); return res; }
/** * Processes handshake request. * * @param req Handshake request. * @return Response message. * @throws GridException In case of handshake failure. */ private GridGgfsMessage processHandshakeRequest(GridGgfsHandshakeRequest req) throws GridException { if (!F.eq(ctx.gridName(), req.gridName())) throw new GridException("Failed to perform handshake because actual Grid name differs from expected " + "[expected=" + req.gridName() + ", actual=" + ctx.gridName() + ']'); if (!F.eq(ggfs.name(), req.ggfsName())) throw new GridException("Failed to perform handshake because actual GGFS name differs from expected " + "[expected=" + req.ggfsName() + ", actual=" + ggfs.name() + ']'); GridGgfsControlResponse res = new GridGgfsControlResponse(); ggfs.clientLogDirectory(req.logDirectory()); GridGgfsHandshakeResponse handshake = new GridGgfsHandshakeResponse(ggfs.name(), ggfs.proxyPaths(), ggfs.groupBlockSize(), ggfs.globalSampling()); res.handshake(handshake); return res; }