Replication Controller with overlapping labels

Asking for help? Comment out what you need so we can get more information to help you!

Cluster information:

Kubernetes version: 1.19.4
Cloud being used: VMs ( with vSphere as a hypervisor)
Installation method:
Host OS: Ubuntu 20.04.03
CNI and version:
CRI and version: Docker version 20.10.12

As per documentation, if two replicationcontroller are using the same selector then it should create a conflict. However, in my case the two replicationcontroller seems to work fine with out impacting each other.

Here is the pod display:

NAME READY STATUS RESTARTS AGE LABELS
rc-hostnamectl-b72vk 1/1 Running 0 17m app=hostnamectl
rc-hostnamectl-mc7k6 1/1 Running 0 30m app=hostnamectl
rc-hostnamectl-nosel-4c7lb 1/1 Running 0 113m app=hostnamectl
rc-hostnamectl-nosel-fzf92 1/1 Running 0 30m app=hostnamectl
rc-hostnamectl-xv6sd 1/1 Running 0 5h9m app=hostnamectl

The manifest files for the two replication controllers are below:

apiVersion: v1
kind: ReplicationController
metadata:
name: rc-hostnamectl
spec:
replicas: 3
selector:
app: hostnamectl
template:
metadata:
labels:
app: hostnamectl
spec:
containers:
- name: hostnamectl
image: wajihurrehman/hostnamectl:1.0
ports:
- name: http
containerPort: 8080

===================================================
apiVersion: v1
kind: ReplicationController
metadata:
name: rc-hostnamectl-nosel
spec:
replicas: 2
template:
metadata:
labels:
app: hostnamectl
spec:
containers:
- name: hostnamectl
image: wajihurrehman/hostnamectl:1.0
ports:
- name: http
containerPort: 8080

Please let me if there is more details on the usage of selector that is allowing such config.

Wajih