CF 1483 F. Exam

本文详细介绍了如何使用AC自动机解决寻找字符串间子串的问题,并讨论了在AC自动机中如何判断找到的子串是否唯一,避免中间串的干扰。通过建立树状数组和fail节点,实现高效统计和判断,最后给出了一种解决方案并展示了其实例分析。

给出n个串,问有多少对串(si,sj),si是sj的子串且不存在sk使得si是sk的子串&sk是sj的子串。

首先利用ac自动机可以找到一个串以第i个字符结尾的最长后缀。

因此对所有串构造ac自动机后,枚举每一个串为sj,看有多少个si。

对于一个串sj,跑ac自动机,在每一个节点从该节点的fail节点得出他的最长后缀,因此可以找到对应的串。

abcd对应的节点找到bcd

abc对应的节点找到了c

所以可以直接利用fail节点来找到当前节点往上的第一个字符串(当前的最长后缀)

但是需要判断找到的串是不是直接后缀(不存在中间层)。

假设当前在i的位置找到的串是si,长度为k,那么在位置[i-k+1,i]中找到的串(包括找到的串的子串子子串)都不能用。

譬如下图的abcd,bcd,bc,cd. 在找abcd的最后一个位置时,找到了他的si(bcd),那么bc就不能用了。

那怎么判断一个串能不能用呢?

如果对fail节点建树的话,那么一个树节点下的子节点肯定包含该树节点对应的串si的子串。也就是说如果树下面如果存在一个节点是在其他串的范围内,那么这个子串是不能用的。(是某个串的子串)。譬如bc的c的子树在bcd中。

因此

先遍历si把si的每一个点解加入树状数组中。

    si的结尾找到的串肯定是自己,因此需要找他fail节点。

再统计每一个串在si仲出现的次数。

    对si从后往前遍历。假设当前找到的串是sj,那么就跳过完全在[i-len(sj)+1,i]中的串(被支配了),并统计该串出现了cnt[sj]++。

最后判断找到的串是否可用。

  再扫一次串si,对于每一个位置的sj,如果他对应的树节点下面是否刚好有cnt个节点,如果比他大(不可能小的)那么说明出现了sk。如果刚好是cnt,那么就找到了一个串了。

  

  判断树节点下面有多少个统计节点可以利用dfs序get(out) - get(in)

abcbcbc被bc串覆盖了3次,那么c对应就有3个子节点

对于abcbcbcd,bcd串覆盖了1次,bc覆盖了2次,单词c对应有3个子节点,说明有一个放到了别人的区间(bcd)中,那么bc不合法。

#define ll long long
#define ull unsigned long long
#define clr(x) memset(x,0,sizeof(x))
#define _clr(x) memset(x,-1,sizeof(x))
#define fr(i,a,b) for(int i = a; i < b; ++i)
#define frr(i,a,b) for(int i = a; i > b; --i)
#define pb push_back
#define sf scanf
 
#define pf printf
#define mp make_pair
#define pir pair<int,int>
//#define N 2e5+10
#define N 2001000
 
using namespace std;
int mod = 998244353;
//int mod = 1e9+7;

int get_min(int a, int b){
	if(a==-1) return b;
	if(b==-1) return a;
	return min(a,b);
}

int ch[N][30],fail[N],ed[N],lt[N],v[N];
int id = 2;

int in_dfn[N],out_dfn[N], dfn_id;
vector<int> g[N];

void add(string s, int idx){
	int len = s.size();
	int root = 1;
	for(int i = 0; i < len; ++i){
		//printf("s = %s i = %d root = %d\n",s.c_str(),i,root);
		if(!ch[root][s[i]-'a'])ch[root][s[i]-'a'] = id++;
		root = ch[root][s[i]-'a'];
	}
	ed[root] = idx;
}

void dfs(int t, int f){
	lt[t] = ed[t] ? t:lt[f];
	//printf("t = %d f = %d\n",t,f);
	in_dfn[t] = dfn_id++;
	for(int u : g[t]){
		dfs(u,t);
	}
	out_dfn[t] = dfn_id++;
}

string s[N];
void build(){
	dfs(1,1);
	int ans = 0;
	queue<int> q;
	for(int i = 0; i < 30; ++i)ch[0][i] = 1;
	q.push(1);

	while(!q.empty()){
		int t = q.front();
		q.pop();
		for(int i =0; i< 30;++i){
			if(!ch[t][i])ch[t][i]=ch[fail[t]][i];
			else {
				q.push(ch[t][i]);
				fail[ch[t][i]] = ch[fail[t]][i];
			}
		}
		//printf("t = %d fail = %d lt = %d\n",t,fail[t], lt[fail[t]]);
		g[fail[t]].pb(t);
	}
	dfn_id = 1;
	dfs(1,1);
	return ;
}

int sum[N],cnt[N];
void add(int t, int val){
	//printf("add t = %d val = %d\n",t,val);
	for(; t<dfn_id; t +=t&-t){
		sum[t] += val;
	}
}

int get(int t){
	int ret = 0;
	while(t>0){
		ret += sum[t];
		t-=t&-t;
	}
	return ret;
}

int count(int x){
	return get(out_dfn[x]) - get(in_dfn[x]-1);
}

int main(){
	int n;
	cin>>n;
	for(int i = 0; i < n; ++i){
		cin>>s[i];
		add(s[i],i+1);
	}

	build();
	int ans = 0;
	for(int i = 0; i <n; ++i){
		const string &str = s[i];
		int root = 1;
		vector<int> p,node;
		for(int j =0; j < str.size();++j){
			root = ch[root][str[j]-'a'];
			p.pb(lt[root]);
			node.pb(root);
			if(in_dfn[root]){
				add(in_dfn[root],1);
			}
		}
		p.back() = lt[fail[root]];
		node.back() = fail[root];

		int cur = p.size();
		for(int j = p.size()-1; j >=0;--j){
			int x = p[j];
			if(x && (int)(j-s[ed[x]-1].size()) < cur){
				cnt[ed[x]-1]++;
				//printf("i = %d j = %d s = %s x = %d ed = %d count = %d\n",i,j,str.c_str(),x, ed[x], cnt[ed[x]-1]);
				cur = j-s[ed[x]-1].size();
			}
		}

		for(int j = p.size()-1; j >=0;--j){
			int x = p[j];
			//printf("i = %d j = %d s = %s x = %d ed = %d(%zu) count = %d cur = %d\n",i,j,str.c_str(),x, ed[x], s[ed[x]-1].size(),count(x),cur);
			if(ed[x] && !v[x]){
				//printf("i = %d j = %d s = %s x = %d ed = %d(%zu) count = %d cur = %d v = %d\n",i,j,str.c_str(),x, ed[x], s[ed[x]-1].size(),count(x),cur,v[x]);
				if(count(x)==cnt[ed[x]-1]){
					v[x] = 1;
					++ans;
				}
			}
		}
		//printf("i = %d ans = %d\n",i,ans);
		root = 1;
		for(int j =0; j < str.size();++j){
			root = ch[root][str[j]-'a'];
			if(in_dfn[root]){
				add(in_dfn[root],-1);
			}
			if(lt[root]){
				int x = lt[root];
				v[x] = 0;
				if(ed[x])
					cnt[ed[x]-1]=0;
			}
		}
		int x = lt[fail[root]];
		v[x] = 0;
		if(ed[x]){
			cnt[ed[x]-1]=0;
		}
	}
	cout<<ans<<endl;
}

"C:\Program Files\Java\jdk1.8.0_241\bin\java.exe" "-javaagent:D:\IntelliJ IDEA 2023.3.4\lib\idea_rt.jar=49897:D:\IntelliJ IDEA 2023.3.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_241\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_241\jre\lib\rt.jar;C:\Users\18795\IdeaProjects\demo11\target\classes;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-scala_2.12\1.14.0\flink-scala_2.12-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-core\1.14.0\flink-core-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-annotations\1.14.0\flink-annotations-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-metrics-core\1.14.0\flink-metrics-core-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;D:\Maven安装包\Maven_Repository\com\esotericsoftware\kryo\kryo\2.24.0\kryo-2.24.0.jar;D:\Maven安装包\Maven_Repository\com\esotericsoftware\minlog\minlog\1.2\minlog-1.2.jar;D:\Maven安装包\Maven_Repository\org\objenesis\objenesis\2.1\objenesis-2.1.jar;D:\Maven安装包\Maven_Repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;D:\Maven安装包\Maven_Repository\org\apache\commons\commons-compress\1.21\commons-compress-1.21.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-shaded-guava\30.1.1-jre-14.0\flink-shaded-guava-30.1.1-jre-14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-java\1.14.0\flink-java-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\commons\commons-math3\3.5\commons-math3-3.5.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-shaded-asm-7\7.1-14.0\flink-shaded-asm-7-7.1-14.0.jar;D:\Maven安装包\Maven_Repository\org\scala-lang\scala-reflect\2.12.7\scala-reflect-2.12.7.jar;D:\Maven安装包\Maven_Repository\org\scala-lang\scala-library\2.12.7\scala-library-2.12.7.jar;D:\Maven安装包\Maven_Repository\org\scala-lang\scala-compiler\2.12.7\scala-compiler-2.12.7.jar;D:\Maven安装包\Maven_Repository\org\scala-lang\modules\scala-xml_2.12\1.0.6\scala-xml_2.12-1.0.6.jar;D:\Maven安装包\Maven_Repository\com\twitter\chill_2.12\0.7.6\chill_2.12-0.7.6.jar;D:\Maven安装包\Maven_Repository\com\twitter\chill-java\0.7.6\chill-java-0.7.6.jar;D:\Maven安装包\Maven_Repository\org\slf4j\slf4j-api\1.7.15\slf4j-api-1.7.15.jar;D:\Maven安装包\Maven_Repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-shaded-force-shading\14.0\flink-shaded-force-shading-14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-streaming-scala_2.12\1.14.0\flink-streaming-scala_2.12-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-streaming-java_2.12\1.14.0\flink-streaming-java_2.12-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-file-sink-common\1.14.0\flink-file-sink-common-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-clients_2.12\1.14.0\flink-clients_2.12-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-runtime\1.14.0\flink-runtime-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-rpc-core\1.14.0\flink-rpc-core-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-rpc-akka-loader\1.14.0\flink-rpc-akka-loader-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-queryable-state-client-java\1.14.0\flink-queryable-state-client-java-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-hadoop-fs\1.14.0\flink-hadoop-fs-1.14.0.jar;D:\Maven安装包\Maven_Repository\commons-io\commons-io\2.8.0\commons-io-2.8.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-shaded-netty\4.1.65.Final-14.0\flink-shaded-netty-4.1.65.Final-14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-shaded-jackson\2.12.4-14.0\flink-shaded-jackson-2.12.4-14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-shaded-zookeeper-3\3.4.14-14.0\flink-shaded-zookeeper-3-3.4.14-14.0.jar;D:\Maven安装包\Maven_Repository\org\javassist\javassist\3.24.0-GA\javassist-3.24.0-GA.jar;D:\Maven安装包\Maven_Repository\org\xerial\snappy\snappy-java\1.1.8.3\snappy-java-1.1.8.3.jar;D:\Maven安装包\Maven_Repository\org\lz4\lz4-java\1.8.0\lz4-java-1.8.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-optimizer\1.14.0\flink-optimizer-1.14.0.jar;D:\Maven安装包\Maven_Repository\commons-cli\commons-cli\1.3.1\commons-cli-1.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-client\3.3.1\hadoop-client-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-common\3.3.1\hadoop-common-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\thirdparty\hadoop-shaded-protobuf_3_7\1.1.1\hadoop-shaded-protobuf_3_7-1.1.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\thirdparty\hadoop-shaded-guava\1.1.1\hadoop-shaded-guava-1.1.1.jar;D:\Maven安装包\Maven_Repository\com\google\guava\guava\27.0-jre\guava-27.0-jre.jar;D:\Maven安装包\Maven_Repository\com\google\guava\failureaccess\1.0\failureaccess-1.0.jar;D:\Maven安装包\Maven_Repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\Maven安装包\Maven_Repository\org\checkerframework\checker-qual\2.5.2\checker-qual-2.5.2.jar;D:\Maven安装包\Maven_Repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;D:\Maven安装包\Maven_Repository\org\codehaus\mojo\animal-sniffer-annotations\1.17\animal-sniffer-annotations-1.17.jar;D:\Maven安装包\Maven_Repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;D:\Maven安装包\Maven_Repository\org\apache\httpcomponents\httpcore\4.4.13\httpcore-4.4.13.jar;D:\Maven安装包\Maven_Repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;D:\Maven安装包\Maven_Repository\commons-net\commons-net\3.6\commons-net-3.6.jar;D:\Maven安装包\Maven_Repository\jakarta\activation\jakarta.activation-api\1.2.1\jakarta.activation-api-1.2.1.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-servlet\9.4.40.v20210413\jetty-servlet-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-security\9.4.40.v20210413\jetty-security-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-util-ajax\9.4.40.v20210413\jetty-util-ajax-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-webapp\9.4.40.v20210413\jetty-webapp-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-xml\9.4.40.v20210413\jetty-xml-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;D:\Maven安装包\Maven_Repository\com\sun\jersey\jersey-servlet\1.19\jersey-servlet-1.19.jar;D:\Maven安装包\Maven_Repository\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;D:\Maven安装包\Maven_Repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;D:\Maven安装包\Maven_Repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar;D:\Maven安装包\Maven_Repository\org\apache\commons\commons-configuration2\2.1.1\commons-configuration2-2.1.1.jar;D:\Maven安装包\Maven_Repository\org\apache\commons\commons-text\1.4\commons-text-1.4.jar;D:\Maven安装包\Maven_Repository\org\apache\avro\avro\1.7.7\avro-1.7.7.jar;D:\Maven安装包\Maven_Repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;D:\Maven安装包\Maven_Repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;D:\Maven安装包\Maven_Repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;D:\Maven安装包\Maven_Repository\com\google\re2j\re2j\1.1\re2j-1.1.jar;D:\Maven安装包\Maven_Repository\com\google\protobuf\protobuf-java\2.5.0\protobuf-java-2.5.0.jar;D:\Maven安装包\Maven_Repository\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-auth\3.3.1\hadoop-auth-3.3.1.jar;D:\Maven安装包\Maven_Repository\com\nimbusds\nimbus-jose-jwt\9.8.1\nimbus-jose-jwt-9.8.1.jar;D:\Maven安装包\Maven_Repository\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar;D:\Maven安装包\Maven_Repository\net\minidev\json-smart\2.4.2\json-smart-2.4.2.jar;D:\Maven安装包\Maven_Repository\net\minidev\accessors-smart\2.4.2\accessors-smart-2.4.2.jar;D:\Maven安装包\Maven_Repository\org\ow2\asm\asm\8.0.1\asm-8.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\curator\curator-framework\4.2.0\curator-framework-4.2.0.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-simplekdc\1.0.1\kerb-simplekdc-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-client\1.0.1\kerb-client-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerby-config\1.0.1\kerby-config-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-common\1.0.1\kerb-common-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-crypto\1.0.1\kerb-crypto-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-util\1.0.1\kerb-util-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\token-provider\1.0.1\token-provider-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-admin\1.0.1\kerb-admin-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-server\1.0.1\kerb-server-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-identity\1.0.1\kerb-identity-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerby-xdr\1.0.1\kerby-xdr-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\curator\curator-client\4.2.0\curator-client-4.2.0.jar;D:\Maven安装包\Maven_Repository\org\apache\curator\curator-recipes\4.2.0\curator-recipes-4.2.0.jar;D:\Maven安装包\Maven_Repository\org\apache\htrace\htrace-core4\4.1.0-incubating\htrace-core4-4.1.0-incubating.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerb-core\1.0.1\kerb-core-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerby-pkix\1.0.1\kerby-pkix-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerby-asn1\1.0.1\kerby-asn1-1.0.1.jar;D:\Maven安装包\Maven_Repository\org\apache\kerby\kerby-util\1.0.1\kerby-util-1.0.1.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\jackson\core\jackson-databind\2.10.5.1\jackson-databind-2.10.5.1.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\jackson\core\jackson-core\2.10.5\jackson-core-2.10.5.jar;D:\Maven安装包\Maven_Repository\org\codehaus\woodstox\stax2-api\4.2.1\stax2-api-4.2.1.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\woodstox\woodstox-core\5.3.0\woodstox-core-5.3.0.jar;D:\Maven安装包\Maven_Repository\dnsjava\dnsjava\2.1.7\dnsjava-2.1.7.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-hdfs-client\3.3.1\hadoop-hdfs-client-3.3.1.jar;D:\Maven安装包\Maven_Repository\com\squareup\okhttp\okhttp\2.7.5\okhttp-2.7.5.jar;D:\Maven安装包\Maven_Repository\com\squareup\okio\okio\1.6.0\okio-1.6.0.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\jackson\core\jackson-annotations\2.10.5\jackson-annotations-2.10.5.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-yarn-api\3.3.1\hadoop-yarn-api-3.3.1.jar;D:\Maven安装包\Maven_Repository\javax\xml\bind\jaxb-api\2.2.11\jaxb-api-2.2.11.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-yarn-client\3.3.1\hadoop-yarn-client-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\websocket\websocket-client\9.4.40.v20210413\websocket-client-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-client\9.4.40.v20210413\jetty-client-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-http\9.4.40.v20210413\jetty-http-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-util\9.4.40.v20210413\jetty-util-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\jetty-io\9.4.40.v20210413\jetty-io-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\websocket\websocket-common\9.4.40.v20210413\websocket-common-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\eclipse\jetty\websocket\websocket-api\9.4.40.v20210413\websocket-api-9.4.40.v20210413.jar;D:\Maven安装包\Maven_Repository\org\jline\jline\3.9.0\jline-3.9.0.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-mapreduce-client-core\3.3.1\hadoop-mapreduce-client-core-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-yarn-common\3.3.1\hadoop-yarn-common-3.3.1.jar;D:\Maven安装包\Maven_Repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;D:\Maven安装包\Maven_Repository\com\sun\jersey\jersey-core\1.19\jersey-core-1.19.jar;D:\Maven安装包\Maven_Repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar;D:\Maven安装包\Maven_Repository\com\sun\jersey\jersey-client\1.19\jersey-client-1.19.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.10.5\jackson-module-jaxb-annotations-2.10.5.jar;D:\Maven安装包\Maven_Repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.2\jakarta.xml.bind-api-2.3.2.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.10.5\jackson-jaxrs-json-provider-2.10.5.jar;D:\Maven安装包\Maven_Repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.10.5\jackson-jaxrs-base-2.10.5.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-mapreduce-client-jobclient\3.3.1\hadoop-mapreduce-client-jobclient-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-mapreduce-client-common\3.3.1\hadoop-mapreduce-client-common-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\hadoop\hadoop-annotations\3.3.1\hadoop-annotations-3.3.1.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-connector-kafka_2.12\1.14.0\flink-connector-kafka_2.12-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-connector-base\1.14.0\flink-connector-base-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\apache\kafka\kafka-clients\2.4.1\kafka-clients-2.4.1.jar;D:\Maven安装包\Maven_Repository\com\github\luben\zstd-jni\1.4.3-1\zstd-jni-1.4.3-1.jar;D:\Maven安装包\Maven_Repository\org\apache\flink\flink-json\1.14.0\flink-json-1.14.0.jar;D:\Maven安装包\Maven_Repository\org\slf4j\slf4j-simple\1.7.36\slf4j-simple-1.7.36.jar" KafkaToKafkaJob [main] WARN org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer - Property [transaction.timeout.ms] not specified. Setting it to 3600000 ms [main] INFO org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils - The configuration option taskmanager.cpu.cores required for local execution is not set, setting it to the maximal possible value. [main] INFO org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils - The configuration option taskmanager.memory.task.heap.size required for local execution is not set, setting it to the maximal possible value. [main] INFO org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils - The configuration option taskmanager.memory.task.off-heap.size required for local execution is not set, setting it to the maximal possible value. [main] INFO org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils - The configuration option taskmanager.memory.network.min required for local execution is not set, setting it to its default value 64 mb. [main] INFO org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils - The configuration option taskmanager.memory.network.max required for local execution is not set, setting it to its default value 64 mb. [main] INFO org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils - The configuration option taskmanager.memory.managed.size required for local execution is not set, setting it to its default value 128 mb. [main] INFO org.apache.flink.runtime.minicluster.MiniCluster - Starting Flink Mini Cluster [main] INFO org.apache.flink.runtime.minicluster.MiniCluster - Starting Metrics Registry [main] INFO org.apache.flink.runtime.metrics.MetricRegistryImpl - No metrics reporter configured, no metrics will be exposed/reported. [main] INFO org.apache.flink.runtime.minicluster.MiniCluster - Starting RPC Service(s) [main] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils - Trying to start local actor system [flink-akka.actor.default-dispatcher-4] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started [main] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils - Actor system started at akka://flink [main] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils - Trying to start local actor system [flink-metrics-4] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started [main] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils - Actor system started at akka://flink-metrics [main] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService - Starting RPC endpoint for org.apache.flink.runtime.metrics.dump.MetricQueryService at akka://flink-metrics/user/rpc/MetricQueryService . [main] INFO org.apache.flink.runtime.minicluster.MiniCluster - Starting high-availability services [main] INFO org.apache.flink.runtime.blob.BlobServer - Created BLOB server storage directory C:\Users\18795\AppData\Local\Temp\blobStore-395858f9-6e79-4996-b985-dabf8fa8d8ea [main] INFO org.apache.flink.runtime.blob.BlobServer - Started BLOB server at 0.0.0.0:49901 - max concurrent requests: 50 - max backlog: 1000 [main] INFO org.apache.flink.runtime.blob.PermanentBlobCache - Created BLOB cache storage directory C:\Users\18795\AppData\Local\Temp\blobStore-16c800cc-b3b0-4b70-ac5c-7861ba41fdfd [main] INFO org.apache.flink.runtime.blob.TransientBlobCache - Created BLOB cache storage directory C:\Users\18795\AppData\Local\Temp\blobStore-e7acd0f0-084b-485b-809f-b82728bd7695 [main] INFO org.apache.flink.runtime.minicluster.MiniCluster - Starting 1 TaskManger(s) [main] INFO org.apache.flink.runtime.taskexecutor.TaskManagerRunner - Starting TaskManager with ResourceID: 4afd33fe-2e15-4a98-a576-d013345b4b7c [main] INFO org.apache.flink.runtime.taskexecutor.TaskManagerServices - Temporary file directory 'C:\Users\18795\AppData\Local\Temp': total 198 GB, usable 88 GB (44.44% usable) [main] INFO org.apache.flink.runtime.io.disk.iomanager.IOManager - Created a new FileChannelManager for spilling of task related data to disk (joins, sorting, ...). Used directories: C:\Users\18795\AppData\Local\Temp\flink-io-66b5f27e-b3b0-463f-a1bd-ea29f5390c52 [main] INFO org.apache.flink.runtime.io.network.NettyShuffleServiceFactory - Created a new FileChannelManager for storing result partitions of BLOCKING shuffles. Used directories: C:\Users\18795\AppData\Local\Temp\flink-netty-shuffle-a407813a-f186-4386-baf3-ec9244c38fcb [main] INFO org.apache.flink.runtime.io.network.buffer.NetworkBufferPool - Allocated 64 MB for network buffer pool (number of memory segments: 2048, bytes per segment: 32768). [main] INFO org.apache.flink.runtime.io.network.NettyShuffleEnvironment - Starting the network environment and its components. [main] INFO org.apache.flink.runtime.taskexecutor.KvStateService - Starting the kvState service and its components. [main] INFO org.apache.flink.configuration.Configuration - Config uses fallback configuration key 'akka.ask.timeout' instead of key 'taskmanager.slot.timeout' [main] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService - Starting RPC endpoint for org.apache.flink.runtime.taskexecutor.TaskExecutor at akka://flink/user/rpc/taskmanager_0 . [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.taskexecutor.DefaultJobLeaderService - Start job leader service. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.filecache.FileCache - User file cache uses directory C:\Users\18795\AppData\Local\Temp\flink-dist-cache-2a4c4b41-bb2f-4c1e-88a0-cf5ef1549b97 [main] INFO org.apache.flink.runtime.dispatcher.DispatcherRestEndpoint - Starting rest endpoint. [main] INFO org.apache.flink.runtime.dispatcher.DispatcherRestEndpoint - Failed to load web based job submission extension. Probable reason: flink-runtime-web is not in the classpath. [main] WARN org.apache.flink.runtime.webmonitor.WebMonitorUtils - Log file environment variable 'log.file' is not set. [main] WARN org.apache.flink.runtime.webmonitor.WebMonitorUtils - JobManager log files are unavailable in the web dashboard. Log file location not found in environment variable 'log.file' or configuration key 'web.log.path'. [main] INFO org.apache.flink.runtime.dispatcher.DispatcherRestEndpoint - Rest endpoint listening at localhost:49954 [main] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Proposing leadership to contender http://localhost:49954 [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.dispatcher.DispatcherRestEndpoint - http://localhost:49954 was granted leadership with leaderSessionID=1242e32c-a913-428b-916a-1672c2a1bbd1 [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Received confirmation of leadership for leader http://localhost:49954 , session=1242e32c-a913-428b-916a-1672c2a1bbd1 [main] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Proposing leadership to contender LeaderContender: DefaultDispatcherRunner [main] INFO org.apache.flink.runtime.resourcemanager.ResourceManagerServiceImpl - Starting resource manager service. [main] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Proposing leadership to contender LeaderContender: ResourceManagerServiceImpl [mini-cluster-io-thread-2] INFO org.apache.flink.runtime.dispatcher.runner.DefaultDispatcherRunner - DefaultDispatcherRunner was granted leadership with leader id 3494d5a0-1484-46c6-af3d-11f76998217f. Creating new DispatcherLeaderProcess. [pool-2-thread-1] INFO org.apache.flink.runtime.resourcemanager.ResourceManagerServiceImpl - Resource manager service is granted leadership with session id 0a684d7f-95f7-4df1-964c-b4caa47cab32. [main] INFO org.apache.flink.runtime.minicluster.MiniCluster - Flink Mini Cluster started successfully [mini-cluster-io-thread-2] INFO org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess - Start SessionDispatcherLeaderProcess. [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess - Recover all persisted job graphs. [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.dispatcher.runner.SessionDispatcherLeaderProcess - Successfully recovered 0 persisted job graphs. [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService - Starting RPC endpoint for org.apache.flink.runtime.dispatcher.StandaloneDispatcher at akka://flink/user/rpc/dispatcher_1 . [pool-2-thread-1] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService - Starting RPC endpoint for org.apache.flink.runtime.resourcemanager.StandaloneResourceManager at akka://flink/user/rpc/resourcemanager_2 . [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Received confirmation of leadership for leader akka://flink/user/rpc/dispatcher_1 , session=3494d5a0-1484-46c6-af3d-11f76998217f [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager - Starting the resource manager. [mini-cluster-io-thread-2] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Received confirmation of leadership for leader akka://flink/user/rpc/resourcemanager_2 , session=0a684d7f-95f7-4df1-964c-b4caa47cab32 [flink-akka.actor.default-dispatcher-6] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Connecting to ResourceManager akka://flink/user/rpc/resourcemanager_2(964cb4caa47cab320a684d7f95f74df1). [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Resolved ResourceManager address, beginning registration [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.dispatcher.StandaloneDispatcher - Received JobGraph submission 'Kafka Forward: ExamTopic01 → ExamTopic02' (df2dea9c36325aded3c724b0720bd6c2). [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.dispatcher.StandaloneDispatcher - Submitting job 'Kafka Forward: ExamTopic01 → ExamTopic02' (df2dea9c36325aded3c724b0720bd6c2). [flink-akka.actor.default-dispatcher-6] INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager - Registering TaskManager with ResourceID 4afd33fe-2e15-4a98-a576-d013345b4b7c (akka://flink/user/rpc/taskmanager_0) at ResourceManager [flink-akka.actor.default-dispatcher-6] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Successful registration at resource manager akka://flink/user/rpc/resourcemanager_2 under registration id b2e86c78c25728134d6c4ecb271aa712. [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Proposing leadership to contender LeaderContender: JobMasterServiceLeadershipRunner [jobmanager-io-thread-1] INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService - Starting RPC endpoint for org.apache.flink.runtime.jobmaster.JobMaster at akka://flink/user/rpc/jobmanager_3 . [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - Initializing job 'Kafka Forward: ExamTopic01 → ExamTopic02' (df2dea9c36325aded3c724b0720bd6c2). [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - Using restart back off time strategy NoRestartBackoffTimeStrategy for Kafka Forward: ExamTopic01 → ExamTopic02 (df2dea9c36325aded3c724b0720bd6c2). [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - Running initialization on master for job Kafka Forward: ExamTopic01 → ExamTopic02 (df2dea9c36325aded3c724b0720bd6c2). [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - Successfully ran initialization on master in 0 ms. [jobmanager-io-thread-1] INFO org.apache.flink.runtime.scheduler.adapter.DefaultExecutionTopology - Built 1 pipelined regions in 2 ms [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - No state backend has been configured, using default (HashMap) org.apache.flink.runtime.state.hashmap.HashMapStateBackend@1e4cd263 [jobmanager-io-thread-1] INFO org.apache.flink.runtime.state.StateBackendLoader - State backend loader loads the state backend as HashMapStateBackend [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - Checkpoint storage is set to 'jobmanager' [jobmanager-io-thread-1] INFO org.apache.flink.runtime.checkpoint.CheckpointCoordinator - No checkpoint found during restore. [jobmanager-io-thread-1] INFO org.apache.flink.runtime.jobmaster.JobMaster - Using failover strategy org.apache.flink.runtime.executiongraph.failover.flip1.RestartPipelinedRegionFailoverStrategy@44c902ad for Kafka Forward: ExamTopic01 → ExamTopic02 (df2dea9c36325aded3c724b0720bd6c2). [jobmanager-io-thread-1] INFO org.apache.flink.runtime.highavailability.nonha.embedded.EmbeddedLeaderService - Received confirmation of leadership for leader akka://flink/user/rpc/jobmanager_3 , session=fa6c5f3c-c29b-4667-9a9e-4f126e184889 [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.jobmaster.JobMaster - Starting execution of job 'Kafka Forward: ExamTopic01 → ExamTopic02' (df2dea9c36325aded3c724b0720bd6c2) under job master id 9a9e4f126e184889fa6c5f3cc29b4667. [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.jobmaster.JobMaster - Starting scheduling with scheduling strategy [org.apache.flink.runtime.scheduler.strategy.PipelinedRegionSchedulingStrategy] [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Job Kafka Forward: ExamTopic01 → ExamTopic02 (df2dea9c36325aded3c724b0720bd6c2) switched from state CREATED to RUNNING. [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Source: Custom Source -> Sink: Unnamed (1/1) (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from CREATED to SCHEDULED. [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.jobmaster.JobMaster - Connecting to ResourceManager akka://flink/user/rpc/resourcemanager_2(964cb4caa47cab320a684d7f95f74df1) [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.jobmaster.JobMaster - Resolved ResourceManager address, beginning registration [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager - Registering job manager 9a9e4f126e184889fa6c5f3cc29b4667@akka://flink/user/rpc/jobmanager_3 for job df2dea9c36325aded3c724b0720bd6c2. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager - Registered job manager 9a9e4f126e184889fa6c5f3cc29b4667@akka://flink/user/rpc/jobmanager_3 for job df2dea9c36325aded3c724b0720bd6c2. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.jobmaster.JobMaster - JobManager successfully registered at ResourceManager, leader id: 964cb4caa47cab320a684d7f95f74df1. [flink-akka.actor.default-dispatcher-8] INFO org.apache.flink.runtime.resourcemanager.slotmanager.DeclarativeSlotManager - Received resource requirements from job df2dea9c36325aded3c724b0720bd6c2: [ResourceRequirement{resourceProfile=ResourceProfile{UNKNOWN}, numberOfRequiredSlots=1}] [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Receive slot request 0628cd6703b3b400e296bfd92281fe07 for job df2dea9c36325aded3c724b0720bd6c2 from resource manager with leader id 964cb4caa47cab320a684d7f95f74df1. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Allocated slot for 0628cd6703b3b400e296bfd92281fe07. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.taskexecutor.DefaultJobLeaderService - Add job df2dea9c36325aded3c724b0720bd6c2 for job leader monitoring. [mini-cluster-io-thread-1] INFO org.apache.flink.runtime.taskexecutor.DefaultJobLeaderService - Try to register at job manager akka://flink/user/rpc/jobmanager_3 with leader id fa6c5f3c-c29b-4667-9a9e-4f126e184889. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.taskexecutor.DefaultJobLeaderService - Resolved JobManager address, beginning registration [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.taskexecutor.DefaultJobLeaderService - Successful registration at job manager akka://flink/user/rpc/jobmanager_3 for job df2dea9c36325aded3c724b0720bd6c2. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Establish JobManager connection for job df2dea9c36325aded3c724b0720bd6c2. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Offer reserved slots to the leader of job df2dea9c36325aded3c724b0720bd6c2. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Source: Custom Source -> Sink: Unnamed (1/1) (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from SCHEDULED to DEPLOYING. [flink-akka.actor.default-dispatcher-4] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Deploying Source: Custom Source -> Sink: Unnamed (1/1) (attempt #0) with attempt id 6c5fc0fa56d9b0b02eeab15e4ab8a649 to 4afd33fe-2e15-4a98-a576-d013345b4b7c @ www.Brenz.pl (dataPort=-1) with allocation id 0628cd6703b3b400e296bfd92281fe07 [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.taskexecutor.slot.TaskSlotTableImpl - Activate slot 0628cd6703b3b400e296bfd92281fe07. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.state.changelog.StateChangelogStorageLoader - StateChangelogStorageLoader initialized with shortcut names {memory}. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.state.changelog.StateChangelogStorageLoader - Creating a changelog storage with name 'memory'. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.taskexecutor.TaskExecutor - Received task Source: Custom Source -> Sink: Unnamed (1/1)#0 (6c5fc0fa56d9b0b02eeab15e4ab8a649), deploy into slot with allocation id 0628cd6703b3b400e296bfd92281fe07. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.runtime.taskmanager.Task - Source: Custom Source -> Sink: Unnamed (1/1)#0 (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from CREATED to DEPLOYING. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.taskexecutor.slot.TaskSlotTableImpl - Activate slot 0628cd6703b3b400e296bfd92281fe07. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.runtime.taskmanager.Task - Loading JAR files for task Source: Custom Source -> Sink: Unnamed (1/1)#0 (6c5fc0fa56d9b0b02eeab15e4ab8a649) [DEPLOYING]. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.runtime.tasks.StreamTask - No state backend has been configured, using default (HashMap) org.apache.flink.runtime.state.hashmap.HashMapStateBackend@536aad7a [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.runtime.state.StateBackendLoader - State backend loader loads the state backend as HashMapStateBackend [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.runtime.tasks.StreamTask - Checkpoint storage is set to 'jobmanager' [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.runtime.taskmanager.Task - Source: Custom Source -> Sink: Unnamed (1/1)#0 (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from DEPLOYING to INITIALIZING. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Source: Custom Source -> Sink: Unnamed (1/1) (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from DEPLOYING to INITIALIZING. [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer - Using AT_LEAST_ONCE semantic, but checkpointing is not enabled. Switching to NONE semantic. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction - FlinkKafkaProducer 1/1 - no state to restore [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.producer.ProducerConfig - ProducerConfig values: acks = 1 batch.size = 16384 bootstrap.servers = [node01:9092, node02:9092, node03:9092] buffer.memory = 33554432 client.dns.lookup = default client.id = compression.type = none connections.max.idle.ms = 540000 delivery.timeout.ms = 120000 enable.idempotence = false interceptor.classes = [] key.serializer = class org.apache.kafka.common.serialization.ByteArraySerializer linger.ms = 0 max.block.ms = 60000 max.in.flight.requests.per.connection = 5 max.request.size = 1048576 metadata.max.age.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partitioner.class = class org.apache.kafka.clients.producer.internals.DefaultPartitioner receive.buffer.bytes = 32768 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 30000 retries = 2147483647 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jitter = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jitter = 0.05 sasl.mechanism = GSSAPI security.protocol = PLAINTEXT security.providers = null send.buffer.bytes = 131072 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1] ssl.endpoint.identification.algorithm = https ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLS ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.location = null ssl.truststore.password = null ssl.truststore.type = JKS transaction.timeout.ms = 3600000 transactional.id = null value.serializer = class org.apache.kafka.common.serialization.ByteArraySerializer [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.producer.ProducerConfig - The configuration 'key.deserializer' was supplied but isn't a known config. [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.producer.ProducerConfig - The configuration 'value.deserializer' was supplied but isn't a known config. [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.producer.ProducerConfig - The configuration 'group.id' was supplied but isn't a known config. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.4.1 [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: c57222ae8cd7866b [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1758282681035 [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer - Starting FlinkKafkaInternalProducer (1/1) to produce into default topic ExamTopic02 [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase - Consumer subtask 0 has no restore state. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.consumer.ConsumerConfig - ConsumerConfig values: allow.auto.create.topics = true auto.commit.interval.ms = 5000 auto.offset.reset = latest bootstrap.servers = [node01:9092, node02:9092, node03:9092] check.crcs = true client.dns.lookup = default client.id = client.rack = connections.max.idle.ms = 540000 default.api.timeout.ms = 60000 enable.auto.commit = true exclude.internal.topics = true fetch.max.bytes = 52428800 fetch.max.wait.ms = 500 fetch.min.bytes = 1 group.id = exam-consumer-group group.instance.id = null heartbeat.interval.ms = 3000 interceptor.classes = [] internal.leave.group.on.close = true isolation.level = read_uncommitted key.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer max.partition.fetch.bytes = 1048576 max.poll.interval.ms = 300000 max.poll.records = 500 metadata.max.age.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor] receive.buffer.bytes = 65536 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 30000 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jitter = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jitter = 0.05 sasl.mechanism = GSSAPI security.protocol = PLAINTEXT security.providers = null send.buffer.bytes = 131072 session.timeout.ms = 10000 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1] ssl.endpoint.identification.algorithm = https ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLS ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.location = null ssl.truststore.password = null ssl.truststore.type = JKS value.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'value.serializer' was supplied but isn't a known config. [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'transaction.timeout.ms' was supplied but isn't a known config. [Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'key.serializer' was supplied but isn't a known config. [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.4.1 [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: c57222ae8cd7866b [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1758282681119 [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.Metadata - [Consumer clientId=consumer-exam-consumer-group-1, groupId=exam-consumer-group] Cluster ID: B0bBZVzzQ9GkwwAzlHzH9A [kafka-producer-network-thread | producer-1] INFO org.apache.kafka.clients.Metadata - [Producer clientId=producer-1] Cluster ID: B0bBZVzzQ9GkwwAzlHzH9A [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase - Consumer subtask 0 will start reading the following 1 partitions from the committed group offsets in Kafka: [KafkaTopicPartition{topic='ExamTopic01', partition=0}] [Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.runtime.taskmanager.Task - Source: Custom Source -> Sink: Unnamed (1/1)#0 (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from INITIALIZING to RUNNING. [flink-akka.actor.default-dispatcher-7] INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Source: Custom Source -> Sink: Unnamed (1/1) (6c5fc0fa56d9b0b02eeab15e4ab8a649) switched from INITIALIZING to RUNNING. [Legacy Source Thread - Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase - Consumer subtask 0 creating fetcher with offsets {KafkaTopicPartition{topic='ExamTopic01', partition=0}=-915623761773}. [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.consumer.ConsumerConfig - ConsumerConfig values: allow.auto.create.topics = true auto.commit.interval.ms = 5000 auto.offset.reset = latest bootstrap.servers = [node01:9092, node02:9092, node03:9092] check.crcs = true client.dns.lookup = default client.id = client.rack = connections.max.idle.ms = 540000 default.api.timeout.ms = 60000 enable.auto.commit = true exclude.internal.topics = true fetch.max.bytes = 52428800 fetch.max.wait.ms = 500 fetch.min.bytes = 1 group.id = exam-consumer-group group.instance.id = null heartbeat.interval.ms = 3000 interceptor.classes = [] internal.leave.group.on.close = true isolation.level = read_uncommitted key.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer max.partition.fetch.bytes = 1048576 max.poll.interval.ms = 300000 max.poll.records = 500 metadata.max.age.ms = 300000 metric.reporters = [] metrics.num.samples = 2 metrics.recording.level = INFO metrics.sample.window.ms = 30000 partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor] receive.buffer.bytes = 65536 reconnect.backoff.max.ms = 1000 reconnect.backoff.ms = 50 request.timeout.ms = 30000 retry.backoff.ms = 100 sasl.client.callback.handler.class = null sasl.jaas.config = null sasl.kerberos.kinit.cmd = /usr/bin/kinit sasl.kerberos.min.time.before.relogin = 60000 sasl.kerberos.service.name = null sasl.kerberos.ticket.renew.jitter = 0.05 sasl.kerberos.ticket.renew.window.factor = 0.8 sasl.login.callback.handler.class = null sasl.login.class = null sasl.login.refresh.buffer.seconds = 300 sasl.login.refresh.min.period.seconds = 60 sasl.login.refresh.window.factor = 0.8 sasl.login.refresh.window.jitter = 0.05 sasl.mechanism = GSSAPI security.protocol = PLAINTEXT security.providers = null send.buffer.bytes = 131072 session.timeout.ms = 10000 ssl.cipher.suites = null ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1] ssl.endpoint.identification.algorithm = https ssl.key.password = null ssl.keymanager.algorithm = SunX509 ssl.keystore.location = null ssl.keystore.password = null ssl.keystore.type = JKS ssl.protocol = TLS ssl.provider = null ssl.secure.random.implementation = null ssl.trustmanager.algorithm = PKIX ssl.truststore.location = null ssl.truststore.password = null ssl.truststore.type = JKS value.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'value.serializer' was supplied but isn't a known config. [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'transaction.timeout.ms' was supplied but isn't a known config. [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] WARN org.apache.kafka.clients.consumer.ConsumerConfig - The configuration 'key.serializer' was supplied but isn't a known config. [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.4.1 [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: c57222ae8cd7866b [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1758282681381 [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.consumer.KafkaConsumer - [Consumer clientId=consumer-exam-consumer-group-2, groupId=exam-consumer-group] Subscribed to partition(s): ExamTopic01-0 [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.Metadata - [Consumer clientId=consumer-exam-consumer-group-2, groupId=exam-consumer-group] Cluster ID: B0bBZVzzQ9GkwwAzlHzH9A [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=consumer-exam-consumer-group-2, groupId=exam-consumer-group] Discovered group coordinator node01:9092 (id: 2147483646 rack: null) [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.consumer.internals.ConsumerCoordinator - [Consumer clientId=consumer-exam-consumer-group-2, groupId=exam-consumer-group] Found no committed offset for partition ExamTopic01-0 [Kafka Fetcher for Source: Custom Source -> Sink: Unnamed (1/1)#0] INFO org.apache.kafka.clients.consumer.internals.SubscriptionState - [Consumer clientId=consumer-exam-consumer-group-2, groupId=exam-consumer-group] Resetting offset for partition ExamTopic01-0 to offset 0. 对吗
09-20
<think> 我们正在解决Git合并时出现的本地更改冲突问题。用户之前遇到了文件冲突,现在又看到'Updating f906b1cf687..06a1c582189'的提示。我们需要解释这个提示的含义以及如何处理。 ### 分析: 1. **提示含义**:`Updating f906b1cf687..06a1c582189` 表示Git正在将本地分支从一个提交(f906b1cf687)更新到另一个提交(06a1c582189)。这通常出现在执行`git pull`或`git merge`时,表示Git试图将远程分支的更改合并到本地分支。 2. **与错误的关系**:在出现`error: Your local changes to the following files would be overwritten by merge`错误后,这个更新提示说明远程仓库有新的提交(从f906b1cf687到06a1c582189),但这些提交与本地未提交的修改冲突,因此Git停止了合并操作。 ### 解决步骤: #### 方法1:保存本地修改并合并(推荐) 1. **暂存当前修改**:使用`git stash`保存本地修改,这样工作区会回到上次提交的状态。 ```bash git stash ``` 2. **执行合并**:拉取远程更新并合并。 ```bash git pull # 或 git merge <远程分支> ``` 3. **恢复修改**:将暂存的修改重新应用到工作区,并解决可能出现的冲突。 ```bash git stash pop ``` 如果恢复时出现冲突,需要手动解决冲突(参考引用[3]的冲突标记格式)。 #### 方法2:丢弃本地修改(谨慎使用) 如果本地修改不重要,可以丢弃它们: ```bash git reset --hard HEAD # 丢弃所有未提交的修改 git pull ``` #### 方法3:创建新分支 如果不想影响当前分支,可以创建一个新分支来合并: ```bash git checkout -b temp-branch # 创建并切换到新分支 git pull origin <远程分支> # 在新分支上拉取更新 # 然后可以合并或比较修改 ``` ### 关键点解释: - **提交范围`f906b1cf687..06a1c582189`**:表示从起始提交(不包括)到结束提交(包括)之间的所有更改。这里`f906b1cf687`是本地分支当前的提交,`06a1c582189`是远程分支的最新提交。 - **冲突原因**:本地修改的文件与远程更新中的同一文件修改冲突,Git无法自动合并,因此需要手动解决(参考引用[3]的冲突标记格式)。 ### 验证: 合并后使用`git log`查看提交历史,确认是否包含`06a1c582189`提交: ```bash git log --oneline -1 # 查看最新提交 ``` > **注意**:如果使用`repo`工具(Android开发环境),上述Git命令需在对应项目目录执行,或使用`repo forall -c`命令批量处理(参考引用[1][2])。 §§相关问题§§ 1. 如何查看Git提交范围中的具体更改内容? 2. 除了`git stash`,还有哪些方法可以保存工作现场? 3. 如何避免频繁的合并冲突? </think> ### 'Updating f906b1cf687..06a1c582189' 提示的含义及处理方案 #### 📝 提示含义解析 1. **提交范围表示** `Updating f906b1cf687..06a1c582189` 表示 Git 正在尝试将本地代码库从提交 `f906b1cf687` 更新到 `06a1c582189`。 - `f906b1cf687`:当前本地分支的提交点(7位缩写哈希值) - `06a1c582189`:远程仓库的目标提交点(如图) - 箭头 `..` 表示更新范围,即需要应用的差异变更集[^2] ```mermaid graph LR A[本地提交 f906b1cf687] --> B[远程提交 06a1c582189] ``` 2. **与合并错误的关系** 此提示出现在合并冲突错误后,说明: - Git 已识别远程更新内容(06a1c582189) - 但因检测到本地修改与更新内容冲突,**中止了合并过程** - 此时工作区处于"合并中断"状态 #### 🔧 处理步骤 1. **查看更新详情** 使用以下命令查看具体变更内容: ```bash git diff f906b1cf687..06a1c582189 -- qssi15/device/qcom/qssi/qssi.mk git diff f906b1cf687..06a1c582189 -- target/device/qcom/bengal_515/bengal_515.mk ``` 2. **保存工作现场(推荐)** ```bash git stash save "本地修改备份" # 暂存当前修改 git pull origin <分支名> # 完成合并更新 git stash pop # 恢复本地修改并解决冲突 ``` 恢复后需手动处理冲突标记(参考引用[3]): ``` <<<<<<< HEAD 本地修改内容 ======= 远程更新内容 >>>>>>> 06a1c582189 ``` 3. **强制覆盖更新(谨慎使用)** 若需放弃本地修改: ```bash git reset --hard HEAD # 重置本地修改 git merge 06a1c582189 # 手动执行合并 ``` 4. **创建临时分支处理** ```bash git checkout -b temp_merge # 创建临时分支 git merge 06a1c582189 # 在临时分支合并 # 解决冲突后合并回主分支 git checkout main git merge temp_merge ``` #### ⚠️ 注意事项 - 使用 `git log --oneline f906b1cf687..06a1c582189` 可查看完整更新日志(参考引用[1]) - 冲突解决后需验证构建:`source build/envsetup.sh && lunch bengal_515-userdebug` - 若涉及 GKI 内核更新,需确保 `VARIANT=gki` 参数一致性[^1]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值