p-group as a product of two abelian normal subgroups Thanks for any comment or answer.
Let $G$ be a finite non-abelian $p$-group such that $G=AB$  where $A=C_G(a)$  and $B=C_G(b)$ are maximal abelian normal subgroups of $G$ such that $A\cap B=Z(G)$, and for every element 
$a_1\in A\setminus Z(G)$ (respectively $b_1\in B\setminus Z(G)$) ,
we have $C_G(a_1)=A$ (respectively $C_G(b_1)=B$). Is it true that centralizer of every noncentral element of $G$ is abelian?
 A: Yes I used Magma. It is hard to explain how I came up with this example. I started by trying with 2-generator subgroups A/Z(P) and B/Z(P) but I
couldn't make that work, so I moved to three generators.
/* First construct a group containing two 3-generator abelian subgroups
 * <a,b,c> and <d,e,f> and add a few somewhat randomly chosen relations
 * among their commutators.
 * Note that the commutator a^-1 b^-1 a b is denoted (a,b) in Magma
 */
> X := Group< a,b,c,d,e,f | (a,b), (a,c), (b,c), (d,e), (e,f), (d,f),
>                    (a,d)=(b,e), (a,e)=(b,f), (a,f)=(c,d), (b,d)=(c,e) >;
/* Form the class two exponent 3 3-quotient P of X, which will be our
 * counterexample
 */
> P := pQuotient(X, 3, 2 : Exponent:=3 );
> FactoredOrder(P);
[ <3, 11> ]
> Z := Centre(P);
> FactoredOrder(Z);
[ <3, 5> ]
/* Define the abelian subgroups A and B of P and check all of the
 * required conditions
 */
> A := sub< P | P.1, P.2, P.3, Z >;
> B := sub< P | P.4, P.5, P.6, Z >;
> FactoredOrder(A), FactoredOrder(B);
[ <3, 8> ] [ <3, 8> ]
> IsElementaryAbelian(A), IsElementaryAbelian(B);
true true
> A meet B eq Z;
true
> sub< P | A, B > eq P;
true
> forall{ a: a in A | a in Z or Centraliser(P,a) eq A };
true
> forall{ b: b in B | b in Z or Centraliser(P,b) eq B };
true
> forall(g){ g : g in P | g in Z or IsAbelian(Centraliser(P,g)) };
false
> g;
P.2 * P.5

