@Override public synchronized void remove(Dataset dataset) throws HyracksDataException { super.remove(dataset); feedConnections.removeIf(o -> o.getDataverseName().equals(dataset.getDataverseName()) && o.getDatasetName().equals(dataset.getDatasetName())); }
private static JobSpecification getConnectionJob(MetadataProvider metadataProvider, FeedConnection feedConn, IStatementExecutor statementExecutor, IHyracksClientConnection hcc, Boolean insertFeed) throws AlgebricksException, RemoteException, ACIDException { metadataProvider.getConfig().put(FeedActivityDetails.FEED_POLICY_NAME, feedConn.getPolicyName()); Query feedConnQuery = makeConnectionQuery(feedConn); CompiledStatements.ICompiledDmlStatement clfrqs; if (insertFeed) { InsertStatement stmtUpsert = new InsertStatement(new Identifier(feedConn.getDataverseName()), new Identifier(feedConn.getDatasetName()), feedConnQuery, -1, null, null); clfrqs = new CompiledStatements.CompiledInsertStatement(feedConn.getDataverseName(), feedConn.getDatasetName(), feedConnQuery, stmtUpsert.getVarCounter(), null, null); } else { UpsertStatement stmtUpsert = new UpsertStatement(new Identifier(feedConn.getDataverseName()), new Identifier(feedConn.getDatasetName()), feedConnQuery, -1, null, null); clfrqs = new CompiledStatements.CompiledUpsertStatement(feedConn.getDataverseName(), feedConn.getDatasetName(), feedConnQuery, stmtUpsert.getVarCounter(), null, null); } return statementExecutor.rewriteCompileQuery(hcc, metadataProvider, feedConnQuery, clfrqs, null, null); }
@Override public void dropFeed(MetadataTransactionContext ctx, String dataverse, String feedName) throws AlgebricksException { Feed feed = null; List<FeedConnection> feedConnections = null; try { feed = metadataNode.getFeed(ctx.getTxnId(), dataverse, feedName); feedConnections = metadataNode.getFeedConnections(ctx.getTxnId(), dataverse, feedName); metadataNode.dropFeed(ctx.getTxnId(), dataverse, feedName); for (FeedConnection feedConnection : feedConnections) { metadataNode.dropFeedConnection(ctx.getTxnId(), dataverse, feedName, feedConnection.getDatasetName()); ctx.dropFeedConnection(dataverse, feedName, feedConnection.getDatasetName()); } } catch (RemoteException e) { throw new MetadataException(ErrorCode.REMOTE_EXCEPTION_WHEN_CALLING_METADATA_NODE, e); } ctx.dropFeed(feed); }
operatorIdMapping.clear(); Map<OperatorDescriptorId, IOperatorDescriptor> operatorsMap = subJob.getOperatorMap(); String datasetName = feedConnections.get(iter1).getDatasetName(); FeedConnectionId feedConnectionId = new FeedConnectionId(ingestionOp.getEntityId(), datasetName); .findDataset(curFeedConnection.getDataverseName(), curFeedConnection.getDatasetName()) .getDatasetId(); TxnId txnId = ((JobEventListenerFactory) subJob.getJobletEventListenerFactory()).getTxnId(datasetId);
String fqName = feedConnection.getDataverseName() + "." + feedConnection.getDatasetName(); lockManager.acquireDatasetReadLock(metadataProvider.getLocks(), fqName); for (FeedConnection connection : feedConnections) { Dataset ds = metadataProvider.findDataset(connection.getDataverseName(), connection.getDatasetName()); datasets.add(ds);
feedConnections = getFeedConnections(txnId, dataverseName, feed.getFeedName()); for (FeedConnection feedConnection : feedConnections) { dropFeedConnection(txnId, dataverseName, feed.getFeedName(), feedConnection.getDatasetName());
FeedRuntimeType.INTAKE.toString(), feedConnection.getDatasetName(), feedConnection.getOutputType()); CallExpr datasrouceCallFunction = new CallExpr(new FunctionSignature(BuiltinFunctions.FEED_COLLECT), exprList); FromTerm fromterm = new FromTerm(datasrouceCallFunction, fromTermLeftExpr, null, null);
aString.setValue(me.getDatasetName()); stringSerde.serialize(aString, tupleBuilder.getDataOutput()); tupleBuilder.addFieldEndOffset(); aString.setValue(me.getDatasetName()); stringSerde.serialize(aString, fieldValue.getDataOutput()); recordBuilder.addField(MetadataRecordTypes.FEED_CONN_DATASET_NAME_FIELD_INDEX, fieldValue);